0

SecuredWebForm.aspx、UnSecuredWebForm.aspx、LoginForm.aspx という 3 つの Web フォームを持つ asp.net Web アプリケーションがあります。ユーザーが LoginForm.aspx を使用してログインした場合にのみ、SecuredWebForm.aspx にアクセスできるようにしたい。UnSecuredWebForm.aspx の場合、ログインする必要はありません。前もって感謝します。

4

3 に答える 3

1

ガイドは次のとおりです。 http://www.codeproject.com/Articles/13872/Form-authentication-and-authorization-in-ASP-NET

それを行う別のガイド:

http://support.microsoft.com/kb/301240/EN-US

http://support.microsoft.com/kb/316871

于 2012-09-22T11:53:36.433 に答える
0

この目的には、Membership クラスを使用するとよいでしょう。特定の要件がない場合。

WebApplication を使用して NewProject を作成した場合、VisualStudio はweb.config次のようなすべての懸念事項の構成をセットアップしている可能性があります。

要素web.configを追加して編集します。<authorization...>...</authorization>認可コンテンツにアクセスすることで匿名利用を防止します。

<configuration>
  <connectionStrings>
    <add name="ApplicationServices" connectionString="ConnectionStringData" providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
    </authentication>

    <authorization>
        <deny users="?"/>
     </authorization>

    <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>
    ...
    ...
  </system.web>
  ...
  ...
</configuration>

また、匿名ユーザーから Web フォームを保護する必要がある場合は、次のように記述できます。

protected void Page_Load(object sender, EventArgs e)
{
    if (!User.Identity.IsAuthenticated)
      Response.Redirect("Login.aspx");

    // Todo add code here.        
}
于 2012-09-22T12:23:32.857 に答える
0

これを使用できます-に基づいてlocation attribute

<configuration>
   <location path="SecuredWebForm.aspx">
      <system.web>
         <authorization>
            <allow users="..."/>
         </authorization>
      </system.web>
   </location>
</configuration>

注:ユーザーの値を調整します

リンク: http://msdn.microsoft.com/en-us/library/b6x6shw7%28v=vs.71%29.aspx

セキュリティアーキテクチャがある場合は、IsAuthenticatedプロパティを使用できます

リンク : http://msdn.microsoft.com/en-us/library/system.web.httprequest.isauthenticated.aspx

 if (HttpContext.Current.User.Identity.IsAuthenticated)
    {
    }
于 2012-09-22T11:53:51.043 に答える