Как установить Поток. CurrentPrincipal для использования всюду по приложению?

Примените .gitignore к подарку/будущему

, Этот метод применяет стандарт .gitignore поведение, и не требует вручную определения файлов, которые должны быть проигнорированы .

не Может использовать --exclude-from=.gitignore больше:/-Вот обновленный метод:

Общие рекомендации: запускаются с чистого repo - все фиксировавшее, ничто ожидающее в рабочем каталоге или индексе, и делают резервное копирование !

#commit up-to-date .gitignore (if not already existing)
#this command must be run on each branch
git add .gitignore
git commit -m "Create .gitignore"

#apply standard git ignore behavior only to current index, not working directory (--cached)
#if this command returns nothing, ensure /.git/info/exclude AND/OR .gitignore exist
#this command must be run on each branch
git ls-files -z --ignored --exclude-standard | xargs -0 git rm --cached

#optionally add anything to the index that was previously ignored but now shouldn't be:
git add *

#commit again
#optionally use the --amend flag to merge this commit with the previous one instead of creating 2 commits.

git commit -m "re-applied modified .gitignore"

#other devs who pull after this commit is pushed will see the  newly-.gitignored files DELETED

, Если также необходимо произвести чистку недавно проигнорированных файлов от истории фиксации ответвления или если Вы не хотите, чтобы недавно проигнорированные файлы были удалены из будущих получений по запросу , см. этот ответ .

5
задан EBarr 5 June 2012 в 18:55
поделиться

3 ответа

Вы можете обработать FormsAuthentication_OnAuthenticate (отправитель объекта, FormsAuthenticationEventArgs e) (в Global.asax) и установить здесь CurrentPrincipal.


void FormsAuthentication_OnAuthenticate(object sender, FormsAuthenticationEventArgs e)
{
var phoenixIdentity = new PhoenixIdentity("B", "Forms" , true);
var principal = new PhoenixPrincipal(phoenixIdentity);
e.User = principal;
}
1
ответ дан 15 December 2019 в 01:07
поделиться

Тадас не ошибается, правильно реализованная проверка подлинности FormsAuthentication не вызовет этой проблемы.

Ваша страница доступна даже без login, только на странице входа в систему, принцип вашего потока устанавливается вами вручную, но когда вы нажимаете другой URL-адрес, он точно не вызывает вашу страницу входа и не запоминает, что каждая страница запускается в отдельном отдельном потоке. Если вы запрашиваете первую страницу и устанавливаете принцип потока, и вы запрашиваете вторую страницу в том же экземпляре браузера, это может быть или не быть одним и тем же потоком.

Так работает FormsAuthentication,

  1. Он проверяет, установлен ли Auth Cookie или нет, затем он направляет пользователя на страницу входа
  2. Страница входа должна проверить и установить cookie аутентификации,
2
ответ дан 15 December 2019 в 01:07
поделиться

Это то, что я сделал в методе FormsAuthentication_OnAuthenticate:

if (FormsAuthentication.CookiesSupported)
        {
            if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
            {
                try
                {
                    FormsAuthenticationTicket ticket = 
                        FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value);

                    var myIdentity = new GenericIdentity("B");
                    var principal = new GenericPrincipal(myIdentity, new string[]{"rola1"});
                    e.User = principal;
                }
                catch (Exception ex)
                {
                    // Decrypt method failed.
                }
            }
        }
        else
        {
            throw new HttpException("Cookieless Forms Authentication is not " +
                                    "supported for this application.");
        }

кажется, что он работает так, как должен ... Просто если я поставлю свою пользовательскую пару принципал / идентификатор как e.User, у меня возникнет проблема с сериализацией, которую мне нужно будет исправить дальше ... Спасибо, ребята ...

1
ответ дан 15 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: