私はフォーム認証を使用するサイトで作業しています。サイト内のページを最初に開いたときにログイン番号にリダイレクトされ、コントローラ/アクションに許可ロジックが何も配置されていないので、認証システムの動作には興味がありました。ASP.NET MVCフォーム認証 - どのように動作し、認証を維持しますか?
- 以下の設定では、MVCまたはASP.NETは認証済みかどうかを自動的に判断しますか? (私が言ったように、コントローラーに "リダイレクト"するコードやユーザーが承認されていることを確認するコードはありません
- ASP.NETがこれを処理する場合、どの状況でアクション/コントローラー を承認する必要がありますか?つまり、[承認]属性)
- がどのようにフォーム認証作業が、私は、「承認」が永続化されるか で特に興味がある(つまり、クッキーを??)
ウェブサイトは テクノロジーのweb.configん:??MVC 3、Entity Framework 4.1(コードファースト)、ASP.NET 4
<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Account/Index" timeout="2880" />
</authentication>
<membership defaultProvider="CodeFirstMembershipProvider">
<providers>c
<clear />
<add name="CodeFirstMembershipProvider" type="Vanguard.AssetManager.Services.Security.MembershipService" applicationName="/" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="CodeFirstRoleProvider">
<providers>
<clear />
<add name="CodeFirstRoleProvider" type="Vanguard.AssetManager.Services.Security.RoleService" applicationName="/" />
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
</system.web>
<location path="Admin">
<system.web>
<authorization>
<allow roles="Admin" />
<deny users="*" />
</authorization>
</system.web>
</location>
<location path="Content/packages">
<system.web>
<authorization>
<allow roles="Admin" />
<deny users="*" />
</authorization>
</system.web>
</location>
<location path="Home">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
<location path="CheckIn">
<system.web>
<authorization>
<allow roles="CheckIn, Admin" />
<deny users="*" />
</authorization>
</system.web>
</location>
<location path="Assignment">
<system.web>
<authorization>
<allow roles="Assignment, Admin" />
<deny users="*" />
</authorization>
</system.web>
</location>
<configuration>
このサイトでは、MVC領域を使用しています。