我最近对使用ASP.NET MVC应用程序的工作项目的CAS系统感兴趣。所以我在MVC之后创建了一个简单的测试项目,我现在正在尝试将我的SQL数据库(使用Visual Studio 2015 Pro的实体框架生成)和我的CAS链接起来,以便CAS服务器可以在用户检查我的项目数据库时他们试图登录。
我正在使用CAS 4.0.1,因此我已按照本教程进行操作:https://jasig.github.io/cas/4.0.x/installation/Database-Authentication.html 并用我自己的值替换了属性并将其简化了一下,最终看起来像这样:
在" deployerConfigContext.xml"
中<bean id="authenticationManager" class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager">
<constructor-arg>
<map>
<entry key-ref="primaryAuthenticationHandler" value-ref="dbAuthHandler"/>
</map>
</constructor-arg>
<property name="authenticationPolicy">
<bean class="org.jasig.cas.authentication.AnyAuthenticationPolicy" />
</property>
</bean>
<bean id="passwordEncoder"
class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"
c:encodingAlgorithm="MD5"
p:characterEncoding="UTF-8" />
<bean id="dbAuthHandler"
class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler"
p:dataSource-ref="dataSource"
p:passwordEncoder-ref="passwordEncoder"
p:tableUsers="Users"
p:fieldUser="Username"
p:fieldPassword="PassWord"/>
<bean id="dataSource"
class="org.apache.tomcat.jdbc.pool"
p:driverClass="${database.driverClass}"
p:jdbcUrl="${database.url}"
p:user="${database.user}"
p:password="${database.password}" />
在&#34; cas.properties&#34;文件
database.driverClass=com.microsoft.jdbc.sqlserver
database.url=jdbc:sqlserver://localhost:59228;DatabaseName=ConnectionTest.Models.DatabaseContext
database.user=casAdmin
database.password=casPwd
在pom.xml文件中(对于Maven构建)
<dependencies>
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-webapp</artifactId>
<version>${cas.version}</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-support-jdbc</artifactId>
<version>${cas.version}</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<-- I tried with Tomcat JDBC driver instead of C3P0
but it didn't seem to have changed anything -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>9.0.0.M4</version>
</dependency>
</dependencies>
<properties>
<cas.version>4.0.1</cas.version>
</properties>
我在使用Maven(3.3.9)构建时没有遇到任何错误,也没有在使用Tomcat(9.0.0.M4)进行部署时遇到任何错误,但是当我尝试使用某些数据库和#39登录CAS时它的凭据只是告诉我,我的凭证无效。 我怀疑使用错误语法的数据库URL,但我不确定如何编写它,否则我无法找到有关.NET连接器的任何帮助。
感谢任何帮助,谢谢。
编辑:经过一些建议,我发现了什么似乎是正确的MSSQL驱动程序,但我仍然不确定格式化,因为我仍然无法登录与我的DB用户。