飘灵儿 发表于 2015-1-16 22:31:11

ASP.NET网站制作之教你轻松给流程增添权限把持程序

有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是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呢!

乐观 发表于 2015-1-19 16:02:09

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。

只想知道 发表于 2015-1-25 13:36:37

主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。

深爱那片海 发表于 2015-2-2 22:16:55

是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。

小魔女 发表于 2015-2-8 12:41:16

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

变相怪杰 发表于 2015-2-25 14:53:41

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

若相依 发表于 2015-3-7 22:38:39

如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。

小女巫 发表于 2015-3-15 16:08:53

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

金色的骷髅 发表于 2015-3-22 02:32:10

比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
页: [1]
查看完整版本: ASP.NET网站制作之教你轻松给流程增添权限把持程序