如何使用授权&在Asp.net中进行身份验证,C#?

时间:2015-07-08 09:09:13

标签: c# asp.net

我正在使用Roll管理,我正在尝试根据用户或用户组授予页面和文件夹访问权限,同时使用服务器创建的AD组进行用户身份验证。

我有default1.aspx页面作为默认页面,subdir1文件夹为不同的用户组提供不同的访问权限

我在web.config中使用以下逻辑。

<location path="subdir1">
    <system.web>
        <authorization>
            <allow users ="?" />
        </authorization>
    </system.web>
</location>

我遇到问题是向同一个用户提供对2个或更多目录的相同访问权限,那么我是否必须为两个文件夹提供两次允许用户代码?

我可以通过重复所有文件夹的值来使用此逻辑,但我想在一个逻辑中提供所有访问权限。

2 个答案:

答案 0 :(得分:3)

我已经得到了配置文件夹/页面访问权限的答案,因为我必须进行不同的访问,如下所示..

配置对特定文件和文件夹的访问权限,设置基于表单的身份验证。 请求将应用程序中的任何页面自动重定向到Logon.aspx。

在Web.config文件中,完成以下代码。

此代码授予所有用户访问Default1.aspx页面和Subdir1文件夹的权限。

<configuration>
    <system.web>
        <authentication mode="Forms" >
            <forms loginUrl="login.aspx" name=".ASPNETAUTH" protection="None" path="/" timeout="20" >
            </forms>
        </authentication>
<!-- This section denies access to all files in this application except for those that you have not explicitly specified by using another setting. -->
        <authorization>
            <deny users="?" /> 
        </authorization>
    </system.web>
<!-- This section gives the unauthenticated user access to the Default1.aspx page only. It is located in the same folder as this configuration file. -->
        <location path="default1.aspx">
        <system.web>
        <authorization>
            <allow users ="*" />
        </authorization>
        </system.web>
        </location>
<!-- This section gives the unauthenticated user access to all of the files that are stored in the Subdir1 folder.  -->
        <location path="subdir1">
        <system.web>
        <authorization>
            <allow users ="*" />
        </authorization>
        </system.web>
        </location>
</configuration>

用户可以打开Default1.aspx文件或保存在应用程序的Subdir1文件夹中的任何其他文件。它们不会自动重定向到Logon.aspx文件进行身份验证。

重复配置步骤以识别您要允许未经身份验证的用户访问的任何其他页面或文件夹。

有关详细信息,请参阅Microsoft支持页面 - https://support.microsoft.com/en-us/kb/301240

您也可以查看http://www.iis.net/configreference/system.webserver/security/authorization

在您必须在登录页面上进行编码以供参考检查此项 - &gt; http://www.codeproject.com/Articles/13872/Form-authentication-and-authorization-in-ASP-NET

答案 1 :(得分:0)

实际上,asp.net用户访问管理范围很广,因此我决定向您介绍两个对我有帮助的链接。希望这也可以帮到你。 Understanding Role Management

Walk through role management