當前位置: 首頁>>代碼示例>>C#>>正文


C# GenericIdentity類代碼示例

本文整理匯總了C#中System.Security.Principal.GenericIdentity的典型用法代碼示例。如果您正苦於以下問題:C# GenericIdentity類的具體用法?C# GenericIdentity怎麽用?C# GenericIdentity使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


GenericIdentity類屬於System.Security.Principal命名空間,在下文中一共展示了GenericIdentity類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: Main

//引入命名空間
using System;
using System.Security.Principal;

class GenericIdentityMembers
{
    [STAThread]
    static void Main(string[] args)
    {
        // Create a GenericIdentity object with no authentication type 
        // specified.
        GenericIdentity defaultIdentity = new GenericIdentity("DefaultUser");

        // Retrieve a GenericIdentity created from current WindowsIdentity
        // values.
        GenericIdentity currentIdentity = GetGenericIdentity();

        ShowIdentityPreferences(new GenericIdentity(""));
        ShowIdentityPreferences(defaultIdentity);
        ShowIdentityPreferences(currentIdentity);

        Console.WriteLine("The sample completed successfully; " +
            "press Enter to continue.");
        Console.ReadLine();
    }

    // Print identity preferences to the console window.
    private static void ShowIdentityPreferences(
        GenericIdentity genericIdentity)
    {
        // Retrieve the name of the generic identity object.
        string identityName = genericIdentity.Name;

        // Retrieve the authentication type of the generic identity object.
        string identityAuthenticationType = 
            genericIdentity.AuthenticationType;

        Console.WriteLine("Name: " + identityName);
        Console.WriteLine("Type: " + identityAuthenticationType);
        
        // Verify that the user's identity has been authenticated
        // (was created with a valid name).
        if (genericIdentity.IsAuthenticated)
        {
            Console.WriteLine("The user's identity has been authenticated.");
        }
        else
        {
            Console.WriteLine("The user's identity has not been " + 
                "authenticated.");
        }
        Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~");
    }

    // Create generic identity based on values from the current
    // WindowsIdentity.
    private static GenericIdentity GetGenericIdentity()
    {
        // Get values from the current WindowsIdentity.
        WindowsIdentity windowsIdentity = WindowsIdentity.GetCurrent();

        // Construct a GenericIdentity object based on the current Windows
        // identity name and authentication type.
        string authenticationType = windowsIdentity.AuthenticationType;
        string userName = windowsIdentity.Name;
        GenericIdentity authenticatedGenericIdentity =
            new GenericIdentity(userName, authenticationType);

        return authenticatedGenericIdentity;
    }
}
開發者ID:.NET開發者,項目名稱:System.Security.Principal,代碼行數:71,代碼來源:GenericIdentity

示例2: new GenericIdentity(String name)

//引入命名空間
using System;
using System.Security;
using System.Security.Permissions;
using System.Security.Principal;
using System.Threading;

public class Starter {
    public static void Main() {
        GenericIdentity g = new GenericIdentity("Person1");
        GenericPrincipal p = new GenericPrincipal(g,new string[] { "Manager" });
        Thread.CurrentPrincipal = p;
        MyClass.MethodA();
        YClass.MethodA();
    }
}

[PrincipalPermission(SecurityAction.Demand, Role = "Manager")]
public class MyClass {
    static public void MethodA() {
        Console.WriteLine("MyClass.MethodA");
    }
}

[PrincipalPermission(SecurityAction.Demand,Role = "Accountant")]
public class YClass : MyClass {

    static public void MethodB() {
        Console.WriteLine("MyClass.MethodB");
    }
}
開發者ID:C#程序員,項目名稱:System.Security.Principal,代碼行數:31,代碼來源:GenericIdentity


注:本文中的System.Security.Principal.GenericIdentity類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。