[英]The type or namespace name 'Membership' does not exist in the namespace 'Microsoft.AspNet'
[英]Does Aspnet Membership require Full Trust?
我正在主機上測試我的應用程序,當我嘗試訪問試圖從Aspnet成員資格配置文件中讀取的頁面時,它將返回以下消息:
請求類型為'System.Security.Permissions.SecurityPermission,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的權限失敗。
看起來Aspnet成員資格要求在完全信任下運行,但是托管服務提供商不允許應用程序在完全信任下運行。 有沒有辦法使它在中等信任級別工作?
1)嘗試從參考( http://forums.asp.net/t/1422162.aspx/1 )中使用以下內容
using System;
namespace ConsoleApplication
{
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
or
<System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Assert, Unrestricted:=True)> _
class Program
{
static void Main(string[] args)
{
...
}
}
}
2)如果這樣做沒有幫助,請嘗試在<system.web>
標記內的web.config文件中使用put <trust level="Full" />
3)運行此命令caspol.exe -m -ag LocalIntranet_Zone -url \\\\<network host>\\<share name>\\ FullTrust -n FullTrustShare
(當然,您需要以管理員身份登錄才能執行)
4)轉到控制面板/管理工具/ Microsoft .NET Framework配置/配置安全設置。 然后轉到左側的“我的電腦”->“運行時安全策略”節點,然后單擊右側的“調整區域安全性”鏈接,使其完全信任
經過一些研究,看起來Asp.Net Membership中的Profiles功能要求應用程序具有完全信任安全級別。 因此,如果有人嘗試托管使用Asp.Net成員身份的配置文件功能的應用程序,則最好檢查托管提供程序是否允許應用程序在完全信任級別下運行。 他們大多數都不(我的情況)。 我將自己實現一個Profile結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.