ITPub博客

首页 > Linux操作系统 > Linux操作系统 > c#安全角色示例

c#安全角色示例

原创 Linux操作系统 作者:wisdomone1 时间:2012-04-06 16:52:06 0 删除 编辑
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Reflection;
using System.Collections;


using System.Security;
using System.Security.Permissions;
using System.Security.Principal;
using System.Threading;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            //角色数组
            string[] rolesArray = { "managers", "executives" };
            try
            {
                // Set the principal to a new generic principal.
                //thread,currentprincipal是获取或设置线程的用户(当前负责人)
                //返回类型为iprincipal接口类型
                Thread.CurrentPrincipal =
                    new GenericPrincipal(new GenericIdentity(
                    "Bob", "xx"), rolesArray);//Passport
            }
            catch (SecurityException secureException)
            {
                Console.WriteLine("{0}: Permission to set Principal " +
                    "is denied.", secureException.GetType().Name);
            }
            //把上面加工的变量引用供给threadprincal
            IPrincipal threadPrincipal = Thread.CurrentPrincipal;
            Console.WriteLine("Name: {0}\nIsAuthenticated: {1}" +
                "\nAuthenticationType: {2}",
                threadPrincipal.Identity.Name,//name用户名
                threadPrincipal.Identity.IsAuthenticated,//是否通过认证
                threadPrincipal.Identity.AuthenticationType);//验证方式
            Console.ReadKey();
        }
    }
}


小结:
   只是摘录于此,也是半懂不懂,或者说完全不懂.
            适用的场合在何处?
   TCBS用到了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-720573/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb qq: 305076427 微博: wisdomone9

注册时间:2008-04-04

  • 博文量
    2149
  • 访问量
    11893103