小编mai*_*nmm的帖子

为什么没有加载Custom SecurityPermission?

我创建了一个CodeAccessSecurityAttribute实现,使用堆栈信息来查找目标类名,但是在某些类中没有创建PrincipalPermition,系统使用预览一个.我错过了什么?

[ComVisible(true)]
[AttributeUsageAttribute(AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple = true, Inherited = false)] 
public sealed class MyPrincipalPermissionAttribute : CodeAccessSecurityAttribute
{
    public MyPrincipalPermissionAttribute(SecurityAction action) : base(action) { }

    public override IPermission CreatePermission()
    {
        if (Unrestricted)
            return new PrincipalPermission(PermissionState.Unrestricted);
        var stackTrace = new StackTrace();

        var fullnameArray = new List<String>();
        foreach (var frame in stackTrace.GetFrames())
        {
            try
            {
                var method = frame.GetMethod();
                if (method != null && method.ReflectedType.IsSubclassOf(typeof (BaseClass)))
                    fullnameArray.Add(method.ReflectedType.FullName);
            } catch {}
        }

        if (fullnameArray.Count() > 0)
            return new PrincipalPermission(null, fullnameArray[0], true);

        return new …
Run Code Online (Sandbox Code Playgroud)

.net c# security reflection

7
推荐指数
1
解决办法
928
查看次数

标签 统计

.net ×1

c# ×1

reflection ×1

security ×1