如何根据用户所在分组进行身份验证

本文介绍如何通过修改Web.config文件来实现ASP.NET应用程序中的不同文件夹权限管理,并展示了Login.aspx页面的具体验证流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.      创建Login.aspx,News文件夹,BBS文件夹,在两个文件夹内分别有一个Default.aspx页面

2.      修改Web.config文件,如下:

<authentication mode="Forms">

              <forms name=".ASPXFORMSDEMO" loginUrl="Login.aspx" protection="All" path="/" timeout="30">

                   <credentials passwordFormat="Clear">

                   </credentials>

              </forms>

           </authentication>

           <authorization>

              <deny users="?"/>  

              <allow users="A,B" />

</authorization>

 

<location path="BBS">

     <system.web>

           <authorization>

                <deny users="?,A"/>

                <allow users="B"/>

         </authorization>              

    </system.web>

</location>

<location path="News">

     <system.web>

           <authorization>

                <deny users="?,B"/>

                <allow users="A"/>

           </authorization>

     </system.web>

</location>

     注:<location path="BBS">代表对BBS文件夹进行权限设置。允许B组用户,不允许匿名用户和A组用户登录。

  1. 创建Login.aspx

string group;

    protected void btnLogin_Click(object sender, EventArgs e)

{

   //Web.config中取出连接字符串

        string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;

        SqlConnection con = new SqlConnection(conStr);

        con.Open();

        SqlCommand cmd = new SqlCommand();

        cmd.CommandText = "select * from users where uname='" + txtName.Text + "'";

        cmd.Connection = con;

        SqlDataReader dr=cmd.ExecuteReader();

        if (dr.Read())

        {

            if (dr[1].ToString().Equals(txtPwd.Text))

            {

                 //group是该用户所在分组

                group = dr[2].ToString();

                 //将该用户的分组保存进Cookie

                FormsAuthentication.RedirectFromLoginPage(group, true);

            }

        }

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值