仓酷云
标题:
ASP.NET编程:进修一下.net framework 中有关平安的内...
[打印本页]
作者:
兰色精灵
时间:
2015-1-16 22:36
标题:
ASP.NET编程:进修一下.net framework 中有关平安的内...
就安全性而言,Java已经远远低于VB.NET,更无法与安全性著称的C#相比。平安 好简单在沉重的开辟义务之余抽出点工夫进修一些器材。发明机子里有几个关于System.Security内容的示例,这一个定名空间之前还真是历来没用过,恰好拿来进修一下。因为不是体系的进修,欠好构造,想了想,就以示例来讲明吧。
1、设定权限
1[FileIOPermission(SecurityAction.Demand,Write="C: emp.txt")]
2publicclassApp:System.Windows.Forms.Form
3{
4//略
5}
FileIOPermissionAttribute界说于System.Security.Permissions里。它承继于SecurityAttribute,在这个例子中,请求利用App类时必需具有对C: emp.txt文件的写权限。
.netframework的文档中关于平安请求有如许一段话:“若要确保只要被授与了指定权限的挪用刚刚可以挪用您的代码,能够声明体例或强迫体例请求您的代码的挪用方具有特定的权限或权限集。请求使运转库实行平安反省,从而对换用代码实行限定。在平安反省过程当中,运转库遍历挪用仓库,反省仓库中每一个挪用方的权限,然后断定是不是已将请求的权限授与每一个挪用方。假如发明某个挪用方没有请求的权限,则平安反省失利,并激发SecurityException。”
例子中,权限是以声明的体例呈现的。SecurityAction.Demand能够感化于类或办法,在这里是感化于类上。Write是FileIOPermission的属性之一,别的经常使用属性另有Read、Append、All等等。
SecurityAction列举中另有一些值是感化于assembly上的。好比以下的例子:
[assembly:SecurityPermission(SecurityAction.RequestMinimum,UnmanagedCode=true)]
SecurityAction.RequestMinimum是哀求运转的最小权限。这一行请求程序集同意挪用非托管代码。
除声明体例外,还可使用强迫体例。以下的代码:
1FileIOPermissionfilePerm=newFileIOPermission(FileIOPermissionAccess.AllAccess,"C: emp.txt");
2try
3{
4filePerm.Demand();
5
6//Codetoaccessfilegoeshere
7}
8catch(SecurityExceptionexcep)
9{
10MessageBox.Show(excep.Message);
11return;
12}
13
2、用户脚色办理
用户及其脚色的办理是在很多程序中都要利用到的。现在asp.net2.0关于这方面有了年夜年夜加强,开辟职员不必要很懂得手艺就能够做出很不错的使用。不外关于WindowsForm使用程序来讲,很多中央还必要程序员本人设定。
假定我们已晓得了userName和它所属于的roles,那末能够如许来设置以后线程的Principal:
1GenericIdentitygenIdent=newGenericIdentity(userName);
2GenericPrincipalgenPrin=newGenericPrincipal(genIdent,roles);
3Thread.CurrentPrincipal=genPrin;
4
随后我们有三种举措来举行用户脚色考证。
第一种办法是利用GenericPrincipal.IsInRole办法:
1GenericPrincipalcurrentPrin=Thread.CurrentPrincipalasGenericPrincipal;
2
3if(currentPrin!=null&¤tPrin.IsInRole("Manager"))
4{
5//略
6}
7
第二种办法则是利用PrincipalPermission类,相似于权限设定中的强迫体例:
1PrincipalPermissionprinPerm=newPrincipalPermission(null,"Manager");
2
3try
4{
5prinPerm.Demand();
6
7//dosomething
8}
9catch
10{
11//errorhandling
12}
第三种体例则相似于权限设定中的声明体例:
1privatevoidDecPermButton_Click(objectsender,System.EventArgse)
2{
3try
4{
5performManagerAction();
6//dosomething
7}
8catch
9{
10//errorhandling
11}
12}
13
14[PrincipalPermission(SecurityAction.Demand,Role="Manager")]
15voidperformManagerAction()
16{
17}
关于平安的另外一个主要内容是加密。明天没空写了,改天再说。
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)
作者:
乐观
时间:
2015-1-19 18:40
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者:
再见西城
时间:
2015-1-24 20:35
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
作者:
若天明
时间:
2015-2-2 13:04
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
作者:
若相依
时间:
2015-2-7 20:35
asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
作者:
再现理想
时间:
2015-2-23 10:01
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
作者:
老尸
时间:
2015-3-7 07:57
目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
作者:
精灵巫婆
时间:
2015-3-14 15:00
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2