ASP.NET аутентификация - PullRequest
       18

ASP.NET аутентификация

0 голосов
/ 04 июля 2011

Я разрабатываю какой-то сайт, использующий тикет аутентификации из API другого сервиса.У меня есть метод GetSessionTicket () из API.А теперь вопрос: могу ли я сделать аутентификацию asp.net, которая зависит только от cookie?Теперь я удаляю весь раздел о членстве провайдера на web.config:

<add name="ApplicationServices"
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
     providerName="System.Data.SqlClient" />
<membership>
  <providers>
    <clear/>
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
         enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
         maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
         applicationName="/" />
  </providers>
</membership>
<profile>
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
  </providers>
</profile>-->
<roleManager enabled="false">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>

и оставляю это:

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

Логика входа выглядит так:

var ticket = SecurityService.GetSessionTicket(model.UserName, model.Password);
FormsAuthentication.SetAuthCookie(ticket.SessionUserId.ToString(), true);

Isэто нормально?Теперь моя авторизация ASP.NET основана только на cookie и не требует сервера sql или aspnetdb.mdf, да?

1 Ответ

1 голос
/ 04 июля 2011

Да, это нормально, то, что вы по сути делаете, реализует аутентификацию Forms без базы данных членства.Вы не обязаны использовать базу данных членства для достижения аутентификации, и установка файлов cookie в коде подойдет.

...