Grails i kerberos

W poniższym artykule opiszę, jak w kilku krokach umożliwić aplikacji stworzonej przy pomocy grails 1.3.7 autoryzację z wykorzystaniem Kerberosa (W naszym przypadku Windows 2008 R2).

1. Instalujemy pluginy grails: spring-security-core oraz spring-security-kerberos

$grails install-plugin spring-security-core
$grails install-plugin spring-security-kerberos 

2. Dodajemy użytkownika w Active Directory, który posłuży nam do zarejestrowania SPN (Service Principal Name) naszej aplikacji

 Setspn -a http/<computername>.<domainname> <domain-user-account>

uwagi: <computername>.<domainname> musi się dokładnie tak samo nazywać, jak host, gdzie później będzie uruchomiona aplikacja.

 

3. Generujemy na serwerze domenowym plik keyTab.

ktpass /out kerberos.keytab /mapuser <domain-user-account>@<DOMAIN.HOST.FULL.NAME> /princ HTTP/<computername>.<domainname>@<DOMAIN.HOST.FULL.NAME> /pass * 

4. Wygenerowany plik umieszczamy w miejscu dostępnym dla naszej aplikacji.

5. Dodajmy wpisy do pliku konfiguracyjnego Config.groovy.

grails.plugins.springsecurity.kerberos.ticketValidator.servicePrincipal = 'HTTP/<computername>.<domainname>@<DOMAIN.HOST.FULL.NAME>'
grails.plugins.springsecurity.kerberos.ticketValidator.keyTabLocation = 'file:///home/grails/kerberos.keytab'

6. W przeglądarce konfigurujemy zaufaną witrynę (tutaj firefox 4) :


url: about:config

network.negotiate-auth.trusted-uris: <computername>.<domainname>

Tags: ,

Leave a Reply