• Как собрать все данные с пошаговой формы и отобразить результат в конце?

    SayMAN83
    @SayMAN83
    Работаю в IT
    Можно отправлять на сервер и сохранять в БД во временную таблицу или во временный файл на сервере, а в конце прочитать и вывести.
    Ответ написан
  • Возможна слежка за пользователями в организации?

    SayMAN83
    @SayMAN83
    Работаю в IT
    На прошлой работе использовали StaffCop.
    У админа панель админская и через нее можно удаленно ставить агенты на рабочие станции. Статистика о компе собирается ваще наиподробнейшая. Формирует красивые отчеты. Агент делает скриншот с установленным периодом. Записывает все запросы с web-броузеров с адресной строки (ваши клики по ссылкам). Отдельно и все запросы поисковым системам, т.е. все что пытался найти. Отдельно сохраняются все нажатия клавиш и в какой программе. Ну и плюс все запущенные процессы, все копирования, перемещения, изменения и удаления файлов. Переписки в соцсетях и мессенджерах(ася, скайп) тоже в удобном виде.
    Благо оттуда свалил, ибо у генерального на этой почве развилась паранойя, что требовал еженедельные отчеты. Собирались даже личные пароли на почту, соцсетей и на сайты по поиску работы. Взял на эту работу вначале одну девку, затем и вторую.
    Ответ написан
    1 комментарий
  • Asp.net mvc 4/5 cоздать поддомен?

    SayMAN83
    @SayMAN83
    Работаю в IT
    тут я уже выложил полностью рабочее решение. осталось только при авторизации перекидывать пользователя на личный поддомен. И еще, имя домена должно быть вида "mydomain.com", а не "mydomain". Иначе потратите много лишнего времени на борьбу с проблемами кроссдоменной авторизациии.
    Переделать под работу в областях - это дело изменения пары строк кода. Код изначально делал под области, дублируя в каждом файле маршрутизации. Но при попытке перенести код в основной файл маршрутизации для универсальности, случайно получилось вообще отвязаться от областей и выбирать свой собственный поддомен по какому угодно критерию (будь то логин или группа пользователей).
    Ответ написан
    Комментировать
  • Как создавать виртуальные домены 3 уровня в ASP.NET MVC 3?

    SayMAN83
    @SayMAN83
    Работаю в IT
    Надо писать собственный обработчик маршрутизации.
    Я использовал такой вариант. Исходный вариант нашел на одном из форумов и немного его доработал.
    public class SubDomainRoute : Route
        {
            private Regex domainRegex;
            private Regex pathRegex;
            private readonly string[] namespaces;
            public string Domain { get; set; }
    
            public SubDomainRoute(string domain, string url, object defaults, string[] namespaces)
                : base(url, new RouteValueDictionary(defaults), new MvcRouteHandler())
            {
                Domain = domain;
                this.namespaces = namespaces;
            }
    
            public override RouteData GetRouteData(HttpContextBase httpContext)
            {
                // Build regex
                domainRegex = CreateRegex(Domain);
                pathRegex = CreateRegex(Url);
    
                // Request information
                string requestDomain = httpContext.Request.Headers["host"];
                if (!string.IsNullOrEmpty(requestDomain))
                {
                    if (requestDomain.IndexOf(":") > 0)
                    {
                        requestDomain = requestDomain.Substring(0, requestDomain.IndexOf(":"));
                    }
                }
                else
                {
                    requestDomain = httpContext.Request.Url.Host;
                }
                string requestPath = httpContext.Request.AppRelativeCurrentExecutionFilePath.Substring(2) + httpContext.Request.PathInfo;
    
                // Match domain and route
                Match domainMatch = domainRegex.Match(requestDomain);
                Match pathMatch = pathRegex.Match(requestPath);
    
                if (domainMatch.Success && pathMatch.Success)
                {
                    var routeData = base.GetRouteData(httpContext);
    
                    if (this.namespaces != null && this.namespaces.Length > 0)
                    {
                        routeData.DataTokens["Namespaces"] = this.namespaces;
                    }
                    //тут добавляем поле {host} к маршрутам
                    routeData.DataTokens["Host"] = routeData.Values["host"];
                    routeData.DataTokens["UseNamespaceFallback"] = bool.FalseString;
    
                    return routeData;
                }
    
                return null;
            }
    
            public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
            {
               
                    return base.GetVirtualPath(requestContext, values);
               // return null;
            }
    
            private Regex CreateRegex(string source)
            {
                // Perform replacements
                source = source.Replace("/", @"\/?");
                source = source.Replace(".", @"\.?");
                source = source.Replace("-", @"\-?");
                source = source.Replace("{", @"(?<");
                source = source.Replace("}", @">([a-zA-Z0-9_]*))");
    
                return new Regex("^" + source + "$");
            }
        }

    А в затем описываю маршрут так:
    routes.Add("host_default", new SubDomainRoute(
                    "{host}.web.ru",
                    "{controller}/{action}/{id}",
                    new { controller = "User", action = "Index", id = UrlParameter.Optional },
                    new[] { typeof(Controllers.UserController).Namespace } // Namespaces defaults
                ));

    Надо еще в контроллере User делать проверку на корректность поддомена.
    Ответ написан
    Комментировать