如果用户没有权限,如何在登录后从菜单中隐藏Web表单?

问题描述 投票:0回答:1

我使用ASP.NET c#构建了一个网站项目,该项目包含大约30个Web表单,然后我创建了用户组,每个用户都可以访问某些Web表单取决于他的角色,然后我将屏幕添加到组中,例如预订员工组将访问预订Web表单,经理组将访问所有Web表单和屏幕等,现在我创建了以下checkrole void并将其放入page_load以检查用户是否在他的组下面有此Web表单然后他可以访问窗口,否则重定向到主页。

这是CheckRole的空白:

void CheckRoles()
        {
            if (Session["userid"] == null)
            {
                Response.Redirect("/LoginPage.aspx");
            }
            string user_id = Session["userid"].ToString();
            string group_id = func.firesql("select [user_kind_id] from [Users_web] where user_id = '" + user_id + "'");
            string page_current = Request.Url.PathAndQuery.ToString().ToLower();
            string sql = @"SELECT [page_name] FROM [permission_pages] where [group_id]='" + group_id + "' and page_name = '" + page_current + "'";
            string role = func.firesql(sql);

            if (role == "")
            {
                Response.Redirect("/admin/home.aspx");
            }
        }

此虚空与我合作,但我现在需要登录后检查用户组和包含的Web表单,并仅显示允许用户访问和隐藏菜单中其他窗口的Web表单。

如何在登录后进行此操作并显示仅授予Web表单并从菜单中隐藏其他Web表单?

c# asp.net
1个回答
0
投票

首先为所有Web表单创建母版页

将每个页面划分为类别或角色

<div id="rol1" runat="server"> 
<page1>
<page2>
<page3>
</div>

<div id="rol2" runat="server"> 
<page1>
<page2>
<page3>
</div>

Or Second Way 
Create UserControls based On role

Role Admin
page1,page2..

Role User
page3,page...

用户控件更易于访问..

© www.soinside.com 2019 - 2024. All rights reserved.