Я новичок в Spring Framework, в настоящее время разрабатываю веб-приложение. это приложение должно автоматически принимать идентификатор пользователя Windows клиента без какой-либо аутентификации браузера (при доступе с другого компьютера с использованием имени компьютера). все компьютеры подключены в интрасети, также используя LDAP.
до того, как я разработал такое же приложение на PHP. там это работает без проблем. Просто я могу использовать $_SERVER['PHP_AUTH_USER'];
и получить идентификатор пользователя клиента.
в этом приложении нет страницы входа. Во-первых, он должен автоматически получать идентификатор пользователя от клиента при доступе к приложению. на основе идентификатора пользователя я могу определить роль. Приложение работает на моем локальном хосте.
Я добавил все связанные файлы jar в папку lib apache-tomcat.
1.Guvna
2.platform
3.slf4j
4. вафельный джна
5. вафельный причал
6. waffle- tomcat9
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sec="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.2.xsd">
<!-- windows authentication provider -->
<bean id="waffleWindowsAuthProvider" class="waffle.windows.auth.impl.WindowsAuthProviderImpl" />
<!-- collection of security filters -->
<bean id="negotiateSecurityFilterProvider" class="waffle.servlet.spi.NegotiateSecurityFilterProvider">
<constructor-arg ref="waffleWindowsAuthProvider" />
</bean>
<bean id="basicSecurityFilterProvider" class="waffle.servlet.spi.BasicSecurityFilterProvider">
<constructor-arg ref="waffleWindowsAuthProvider" />
</bean>
<bean id="waffleSecurityFilterProviderCollection" class="waffle.servlet.spi.SecurityFilterProviderCollection">
<constructor-arg>
<list>
<ref bean="negotiateSecurityFilterProvider" />
<ref bean="basicSecurityFilterProvider" />
</list>
</constructor-arg>
</bean>
<bean id="negotiateSecurityFilterEntryPoint" class="waffle.spring.NegotiateSecurityFilterEntryPoint">
<property name="provider" ref="waffleSecurityFilterProviderCollection" />
</bean>
<!-- spring authentication provider -->
<sec:authentication-manager alias="authenticationProvider" />
<!-- spring filter entry point -->
<sec:http use-expressions="true" entry-point-ref="negotiateSecurityFilterEntryPoint">
<sec:custom-filter ref="tmswaffleNegotiateSecurityFilter" position="BASIC_AUTH_FILTER" />
<sec:intercept-url pattern="/users" access="hasRole('USER')" />
</sec:http>
<bean id="tmswaffleNegotiateSecurityFilter" class="com.javatpoint.config.tmsegotiateSecurityFilter">
<property name="provider" ref="waffleSecurityFilterProviderCollection" />
<property name="allowGuestLogin" value="false" />
<property name="principalFormat" value="fqn" />
<property name="roleFormat" value="both" />
</bean>
</beans>
Я пробовал то же самое весной. но не может получить идентификатор пользователя. Я пробовал вафельный фильтр, но браузер запрашивал в браузере аутентификацию Windows. но я не хочу аутентифицироваться Мне нужен только идентификатор пользователя Windows клиента при доступе к приложению.
, пожалуйста, помогите мне в этой теме.