|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)程序|把持 WF供应权限把持的功效,个中包含两种体例:ActiveDirectoryRole(经由过程举动目次用户)和WebWorkflowRole(ASP.NETRole)。上面我以WebWorkflowRole的体例作为权限把持例子做先容,起首必要安装aspnetdb数据库(经由过程运转微软供应的aspnet_regsql.exe文件);App.config文件设置以下:
<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
<connectionStrings>
<addname="SqlServerConnection"
connectionString="IntegratedSecurity=SSPI;server=localhostSQLExpress;database=aspnetdb"/>
</connectionStrings>
<system.web>
<roleManagerenabled="true"defaultProvider="SqlProvider">
<providers>
<addname="SqlProvider"connectionStringName="SqlServerConnection"applicationName="ConsoleAppSample"
type="System.Web.Security.SqlRoleProvider,System.Web,Version=2.0.3600.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
</system.web>
</configuration> 经由过程上面的代码发生脚色:///<summary>
///发生脚色
///</summary>
privatevoidCreateRoles()
{
if(!System.Web.Security.Roles.RoleExists("Personnel"))
{
System.Web.Security.Roles.CreateRole("Personnel");
string[]users={"Amanda","Jones","Simpson","Peter"};
string[]PersonnelRole={"Personnel"};
System.Web.Security.Roles.AddUsersToRoles(users,PersonnelRole);
}
if(!System.Web.Security.Roles.RoleExists("DeptManager"))
{
System.Web.Security.Roles.CreateRole("DeptManager");
string[]users1={"Betty","Chris","Anil","Derek"};
string[]DeptManagerRole={"DeptManager"};
System.Web.Security.Roles.AddUsersToRoles(users1,DeptManagerRole);
}
} 假设用登任命户"Betty"为部门司理脚色,经由过程上面的代码能够把登任命户和权限把持相分离:GenericIdentitygenIdentity=newGenericIdentity("Betty");经由过程挪用内部事务Activity的办法把genIdentity作为事务的参数传进流程中。
在流程界说的文件中(Workflow1.cs)界说大众变量:
publicWorkflowRoleCollectioneaInitiators=newSystem.Workflow.Activities.WorkflowRoleCollection();
经由过程上面的代码把部门司理脚色增添到流程脚色列表:
//装载部门司理脚色
WebWorkflowRoleeaInitiatorsRole=newWebWorkflowRole("DeptManager");
eaInitiators.Add(eaInitiatorsRole); WF经由过程反省传进的登录名参数是不是存在于流程脚色列表的某个脚色中来完成流程权限把持。归根到底,Java跨平台可以,但是要重新编写代码,否则还分什么J2EE/J2SE/J2ME呢! |
|