为不同的帐户启用按钮可见性

时间:2011-08-29 07:15:46

标签: c# asp.net

我目前正在开设一个网站,要求我为不同的帐户启用验证。

我有2个帐户 - 管理员和用户。

我的管理员帐户可以查看网站上的所有可用功能,但只允许用户使用一些功能。

我想到的是禁用按钮的可见性 - btnUpload。

以下是我迄今为止提出的代码。

       Mp.Mp login = new Mp.Mp();
        bool result = login.AuthenticateUser(tbxUsername.Text, tbxPassword.Text); 
        if (result == true)             {
            Session.Add("Session_name", tbxUsername.Text);
            //Session["Username"] = tbxUsername.Text;
            Response.Redirect("Index.aspx");
        }

我需要有关按钮可见性的帮助,以确保btnUpload仅对管理员而非用户显示。

4 个答案:

答案 0 :(得分:0)

您有RollName和RollID用于通过该roleid识别您的用户。 您只需在用户登录时检查rollID并将用户rollid存储在会话中,然后在需要检查用户角色约束的任何页面中检查此rollid。

答案 1 :(得分:0)

btnUpload.Visible = Session ["Session_name"] == "Admin";

答案 2 :(得分:0)

可能你想要这样的事情

if(Session["Session_name"] == "admin")
 {
   btnUpload.Visible = true; 
 }
 else
 { 
   btnUpload.Visible = false; 
 }

答案 3 :(得分:0)

您将如何决定用户是管理员还是普通用户?在简单的场景中,您的用户数据可能有一个标志,指示用户是否是管理员。灵活的方法使用基于角色的安全性 - 因此,如果用户是特定角色的成员,那么他可以访问某些功能。因此,在此类系统中,您可以拥有管理员权限的访问权限(或功能),管理员角色将具有此功能。在集成身份验证方案中,您还可以将Windows组或活动目录组用作安全角色。 ASP.NET对基于角色的安全性有很好的支持(请参阅thisthisthis)。无论实现如何,一旦您决定用户是否为admin,控制UI就非常简单。