//
------------------------------------------------------------
//
All Rights Reserved , Copyright (C) 2010 , Jirisoft , Ltd.
//
------------------------------------------------------------
using
System;
using
System.IO;
using
System.Data;
namespace
DotNet.Web.Permission
{
using
DotNet.Service;
using
DotNet.Utilities;
using
Jirisoft.Permission.Model;
using
Jirisoft.Permission.Business;
///
<remarks>
///
UserPermission
///
用户当前权限的获取例子
///
///
修改纪录
///
///
版本:1.0 2010.07.08 JiRiGaLa 写好例子程序方便别人学习。
///
///
版本:1.0
///
<author>
///
<name>
JiRiGaLa
</name>
///
<date>
2010.07.08
</date>
///
</author>
///
</remarks>
public
partial
class
UserPermission : BasePage
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
//
当然是用户需要登录,否则哪里能知道,现在是判断谁的权限啊?
this
.UserInfo
=
Utilities.Login(
"
Jirigala_Bao@Hotmail.com
"
, String.Empty);
//
1 判断用户是否有某个操作权限(在服务器上判断)
//
访问职员的身份证列字段的操作权限
string
permissionItemCode
=
"
Staff.Column.IDCard.Access
"
;
ServiceManager.Instance.PermissionService.IsAuthorizedByUser(
this
.UserInfo,
this
.UserInfo.Id, permissionItemCode);
//
2 获取用户模块菜单列表
this
.GetUserModules();
//
3 获取用户权限列表
this
.GetUserPermission();
}
///
<summary>
///
2 获取用户模块菜单列表
///
</summary>
private
void
GetUserModules()
{
//
就一行代码,就可以获取当前用户的所有可以访问的模块,然后自己想怎么处理就处理,例如变成树形菜单等等
DataTable dtUserModule
=
ServiceManager.Instance.PermissionService.GetModuleDTByUser(
this
.UserInfo,
this
.UserInfo.Id);
this
.grvUserModules.DataSource
=
dtUserModule;
this
.grvUserModules.DataBind();
}
///
<summary>
///
3 获取用户权限列表
///
</summary>
private
void
GetUserPermission()
{
//
就一行代码,就可以获取当前用户的所拥有的权限列表
DataTable dtUserPermission
=
ServiceManager.Instance.PermissionService.GetPermissionDTByUser(
this
.UserInfo,
this
.UserInfo.Id);
this
.grvUserPermission.DataSource
=
dtUserPermission;
this
.grvUserPermission.DataBind();
}
}
}