c#安全形色示例

wisdomone1發表於2012-04-06
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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章