Проверка подлинности Windows бизнес-приложения Silverlight - PullRequest
1 голос
/ 11 июня 2011

Мне не удается заставить Windows Authentication работать в бизнес-приложении Silverlight.

Я внес необходимые изменения, см. Ниже

Изменен для аутентификации Windows в App.xaml

    public App()
    {
        InitializeComponent();

        // Create a WebContext and add it to the ApplicationLifetimeObjects
        // collection.  This will then be available as WebContext.Current.
        WebContext webContext = new WebContext();
        //webContext.Authentication = new FormsAuthentication();
        webContext.Authentication = new WindowsAuthentication();
        this.ApplicationLifetimeObjects.Add(webContext);
    }

Изменена аутентификация Windows в web.config

<authentication mode="Windows"/>

<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"/>

Я поставил точку останова на событие Application_UserLoaded, но ничего не происходит: -

    private void Application_UserLoaded(LoadUserOperation operation)
    {
        foreach (var r in WebContext.Current.User.Roles)
        {
            //do something
        }
    }

Может кто-нибудь подсказать, что происходит не так. Я не внес никаких других изменений в проект.

Ответы [ 2 ]

0 голосов
/ 12 октября 2013

Вы должны иметь эту строку в Application_Startup:

WebContext.Current.Authentication.LoadUser(this.Application_UserLoaded, null);

Это будет автоматически аутентифицировать пользователя при использовании аутентификации Windows.

0 голосов
/ 28 июня 2011

Это случилось со мной и раньше. Оказалось, что отладка Silverlight не была включена в свойствах веб-проекта. Щелкните правой кнопкой мыши по проекту .Web и выберите свойства. Затем нажмите на вкладку Web и в нижней части убедитесь, что флажок Silverlight установлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...