Как определить анонимный профиль

Я изучаю, как использовать профиль, который поставляется с членством и ролью в .NET. Однако я не уверен, где находится вершина цепочки для установки значения:

//Q1. Does it mean I set auth manually when loading user, or create it if not already exists? 
//Or am I meant to get the isauth value from somewhere and pass it in?
var currentUserProfile = ProfileBase.Create(Membership.GetUser().UserName, isauth);
var anyUserProfile = ProfileBase.Create(strNewUser, isauth);
//isauth: true to indicate the user is authenticated;
//        false to indicate the user is anonymous.

И чтобы получить значение:

//Q2. Are res1 and res2 below reflecting the same thing?
//Gets a value that indicates whether the user has been authenticated
bool res1 = HttpContext.Current.User.Identity.IsAuthenticated;
//Gets a value indicating whether the user profile is for an anonymous user
bool res2 = HttpContext.Current.Profile.IsAnonymous;

Меня смущает отношение auth / anonymous в каждом из них. Какой из них является правильным способом получить / установить пользователя для аутентификации или анонимности? Моя цель здесь - дать возможность анонимным и аутентифицированным пользователям иметь профиль.


person Tom    schedule 30.05.2012    source источник


Ответы (1)


res1 и res2 различаются, поскольку их значения зависят от настроек в конфигурации IIS.

Вы можете включить «Анонимный доступ» в IIS, чтобы привязать анонимный идентификатор к учетной записи пользователя.

Из Codeproject:
если вы запустите этот код в IIS6 в анонимном режиме, вы не получите никаких подробностей, как показано ниже. введите описание изображения здесь

Взгляните на следующую статью об аутентификации и авторизации asp.net:
http://www.codeproject.com/Articles/98950/ASP-NET-authentication-and-authorization

В IIS7 вы можете перейти в раздел Безопасность >> Аутентификация следующим образом:

введите описание изображения здесь

введите описание изображения здесь

person Nitin S    schedule 07.06.2012
comment
Это настройки IIS6, не так ли? Очень вероятно, что @Tom использует II7. - person abatishchev; 07.06.2012