Это лучшее решение, на мой взгляд, намного короче, чем другие:
function OnSelect(e) {
var acceptedFiles = [".jpg", ".jpeg", ".png", ".gif"];
var isAcceptedImageFormat = ($.inArray(e.files[0].extension, acceptedFiles)) != -1;
if (!isAcceptedImageFormat) {
$('#warningMessage').show();
}
else {
$('#warningMessage').hide();
}
}
В этом случае функция вызывается из элемента управления Kendo Upload с этим параметром:
.Events(e => e.Select("OnSelect"))
.
Попытайтесь использовать FormAuthentication путем установки web.config раздела аутентификации как так:
<authentication mode="Forms">
<forms name=".ASPXAUTH" requireSSL="true"
protection="All"
enableCrossAppRedirects="true" />
</authentication>
Генерируйте ключ машины. Пример: Самый Легкий способ генерировать MachineKey – Подсказки и приемы: ASP.NET, IIS...
При регистрации на другое приложение билет аутентификации передается как скрытое поле. Читая сообщение из первого приложения, второе приложение будет читать зашифрованный билет и аутентифицировать пользователя. Вот пример страницы, которая передает, который отправляет поле:
.aspx:
<form id="form1" runat="server">
<div>
<p><asp:Button ID="btnTransfer" runat="server" Text="Go" PostBackUrl="http://otherapp/" /></p>
<input id="hdnStreetCred" runat="server" type="hidden" />
</div>
</form>
код - позади:
protected void Page_Load(object sender, EventArgs e)
{
FormsIdentity cIdentity = Page.User.Identity as FormsIdentity;
if (cIdentity != null)
{
this.hdnStreetCred.ID = FormsAuthentication.FormsCookieName;
this.hdnStreetCred.Value = FormsAuthentication.Encrypt(((FormsIdentity)User.Identity).Ticket);
}
}
Также см., что перекрестное приложение формирует раздел аутентификации в Главе 5 этой книги от Wrox. Это рекомендует ответы как те выше в дополнение к обеспечению домашнего пива решения SSO.
При использовании созданного в системе членства, можно сделать, перекрестной аутентификации субдомена с автором форм при помощи некоторых нравится это в каждом web.config.
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/Login.aspx" path="/"
protection="All"
domain="datasharp.co.uk"
enableCrossAppRedirects="true" />
</authentication>
Удостоверьтесь, что имя, путь, защита и домен являются тем же во всем web.configs. Если сайты будут на различных машинах, то необходимо будет также удостовериться, что machineKey и проверка и ключи шифрования являются тем же.
Разрешение зависит от типа приложения и среды, в которой это работает. Например, на интранет с Доменом NT можно использовать NTLM для передачи учетных данных окон непосредственно серверам в периметре интранет без любой потребности копировать сессии.
Подход, как сделать это, обычно называют единой точкой входа (см. Википедию).
Существует несколько подходов к этой проблеме, которая описана как "Междоменная Единая точка входа". Статья Википедии, на которую указывает Matej, особенно полезна при поиске решения с открытым исходным кодом - однако - в среде окон I живо Вы лучше всего выключены с одним из 2 подходов:
Я использовал SiteMinder, и он работает хорошо, но это дорого. Если Вы находитесь во всей среде Microsoft, я думаю, что ADFS является Вашим лучшим выбором. Запустите с этого технического описания ADFS.
При хранении сеансов пользователя в базе данных Вы могли бы просто проверить существование Гуида в таблице сессии, если это существует, то пользователь, уже аутентифицируемый на другом домене. Чтобы это работало, у Вас был бы к включенному гуид сессии в URL при перенаправлении пользователя к другому веб-сайту.
Я был бы пользователь что-то как CAS:
[1]: http://www.ja-sig.org/products/cas/ CAS
Это - решенная проблема и не рекомендовало бы прокрутить Ваше собственное.
Не уверенный, что Вы использовали бы для.NET, но обычно я буду использовать memcached в стеке LAMP.
Кроме того, если Вы хотите к самокрутке, и рассматриваемые сайты не находятся на тех же серверах или не имеют доступа к общей базе данных (в этом случае видят вышеупомянутые ответы), затем, Вы могли поместить веб-маяк в каждый из сайтов, которые вернутся на другой сайт.
Поместите единственное пиксельное изображение (веб-маяк) на сайте, который назвал бы сайт B прохождением через пользовательский идентификатор (зашифрованный и время штампованный). Это затем создало бы новый сеанс пользователя на сайте B для пользователя, который будет установлен, как вошел в систему. Затем, когда пользователь посетил сайт B, они уже будут зарегистрированы.
Для уменьшения вызовов, Вы могли только поместить веб-маяк в домашнюю страницу и или войти в систему страницы подтверждения. Я использовал это успешно в прошлом для передачи информации между партнерскими сайтами.