1. C# / Говнокод #13286

    +126

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    try
    {
                    var ticketInfo = 
                        WebServicesRepository.XLoginInstance.XLoginTicketHandler(ticket.Ticket);
    
                    if (!(ticketInfo.Errors.Length > 0))
                        FormsAuthenticationUtility.SetAuthCookie(ticketInfo.UserID, ticketInfo.UserLogin, ticketInfo.UserPassword, ticketInfo.Email, false);
    
                    var profile =
                        AccountRepository.GetUserProfile(ticketInfo.Email, ticketInfo.UserPassword) ?? null;
                    var authForm =
                        new AuthenticateForm()
                        {
                            Login = profile.Login,
                            Password = profile.Password,
                            IsPersistent = true
                        };
                    AccountRepository.SignIn(authForm, ref errors);
                }
                catch(Exception e) 
                {
                    log.Error("Автоматическая авторизация", e); 
                };

    Наговнокодил на Asp.net )

    Запостил: sladkijBubaleh, 02 Июля 2013

    Комментарии (10) RSS

    • Первое что порадовало

      ticket.Ticket

      Второе

      ref errors

      Надеюсь это не String, в который дописываются ошибки?

      Ну и вызовы в стиле

      FormsAuthenticationUtility.SetAuthCookie (ticketInfo.UserID, ticketInfo.UserLogin, ticketInfo.UserPassword, ticketInfo.Email, false);

      Заставляют сакуру плакать.

      Может я соль тут не увидел - Asp.net знаю плохо, может что упустил - сильно не ругайте, ня ^_^
      Ответить
      • А мне понравилось это
        log.Error("Автоматическая авторизация", e);
        Ответить
        • Да, тоже занятно.

          Ошибка! Автоматическая авторизация! Сервер упадет через 3...2...1...

          И реакции никакой. Может там связь порвалась, или еще что - один фиг -Автоматическая авторизация
          Ответить
          • Это, видимо, группа: "автоматическая авторизация".
            Но вот зачем она нужна при наличии стектрейса - непонятно.
            Ответить
        • Походу под "автоматической авторизацией" имелся в виду вход всяких бесчеловечных роботов, не умеющих вводить капчу и .т.п.
          Ответить
    • К стати, если дело касается ASP.NET'а, зачем делать log.Error? Чем стандартный HealthMonitor'инг не устраивает?
      С ним весь кодинг сводится к редактированию Web.config'а (Прописать сборку логгера [или использовать стандартные] и включить HM прописав провайдер событий).

      Ежели это WCF, то для этих целей есть sharedListeners в том-же Web.config'е.
      Ответить
    • Дамы и господа, на нашем уютненьком объявился хейтер!)
      Ответить
    • Прошлись по всему коду, кроме собственно того, ради чего автор (как мне кажется) им поделился - созданием формы логина, автоматическим заполнением её полей и входом через неё. Эдакая эмуляция действий юзверя, так как логика не отделена от UI.
      Ответить
    • И ещё, для любителей ловить базовый ексепшн.
      Попробуйте под IIS'ом 6+ устроить StackOverflow. IIS будет настолько удивлён, что уронит весь рабочий процесс.
      А если переполнение стека ещё и плавающее, то вообще веселуха начнётся с чтением дампов памяти...
      Ответить

    Добавить комментарий