Использование Kerberos должно аутентифицировать в веб-сайтах и веб-сервисах хорошую идею?

Поскольку вы не поделились своими методами UoW и Repository, мы не можем знать, что именно происходит в вашем коде. Тем не менее, я предоставил необходимый код, который делает то, что вам нужно, без учета репозитория и UoW. Просто проверьте, выполняет ли ваш код следующее:

var db = new AppDbContext();

// inserting new organization
Organisation newOrganisation = new Organisation();
newOrganisation.Name = viewModelToCreate.Name;
newOrganisation.Logo = "To Change";
db.Organisation.Add(newOrganisation);
db.SaveChanges();

// updating the inserted organization
string fileName = ”New FileName”;
newOrganisation.Logo = fileName;
db.SaveChanges();
6
задан Cuga 9 May 2009 в 16:30
поделиться

3 ответа

Рассматривали ли вы OpenID ?

3
ответ дан 10 December 2019 в 02:52
поделиться

OpenID для ваших индивидуальных учетных записей и OAuth для авторизации приложений для доступа к данным на другом веб-сайте - хорошее распределенное решение. Да, Active Directory или другое решение для единого входа отлично работает в однородной среде, но в вашей организации это звучит по-разному.

Настройка безопасного провайдера OpenID на самом деле является большой обязанностью и не должна быть чем-то, что вы должны просто подхлестывать, вставляя библиотеку вместе с веб-сервером. Вы можете позволить своим пользователям использовать свои собственные идентификаторы OpenID, а затем иметь базу данных, в которой ваши пользователи регистрируют свои идентификаторы OpenID, чтобы их можно было распознать в качестве сотрудников / членов во всей системе. Различные части системы могут проверять OpenID на членство либо непосредственно в базе данных, либо вы также можете использовать OAuth для проверки членства.

1
ответ дан 10 December 2019 в 02:52
поделиться

There is nothing inherently wrong with it except that Kerberos isn't really designed for that kind of use case, and doesn't play nicely with firewalls, generally. For example you probably don't want to open up external access to the same Kerberos KDC you use internally.

Plus if you mean MS Kerberos, and you apparently do, then opening up Kerberos comes with a whole other rats nest of MS protocols that you have to open up sooner or later, because the higher level stuff is tangled up with AD etc along with Kerberos.

That said:

I feel that we may be better off with a [...] our own authentication service

Almost certainly not. You generally don't want to reinvent the wheel, and if you must then not that wheel. Authentication protocols are generally hard to do and even harder for web access. Stick to something that exists already - basic authentication + SSL or client certificates and SSL, plus session tracking (again over SSL if this stuff really matters), or an LDAP service that is distinct from your AD. Those approaches all have their own problems but not as many as you'll have with rolling something of your own.

4
ответ дан 10 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

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