Chr*_*ark 14 c# oracle11gr2 asp.net-mvc-4
我目前正在使用Oracle数据库处理ASP.NET MVC 4项目.我已成功在我的Web.config文件中添加连接字符串,如下所示:
<add name="OracleDBConnString" connectionString="Provider=MSDAORA;Data Source=ISDQA;User ID=isd;Password=isdqa;" providerName="System.Data.OleDB" />
Run Code Online (Sandbox Code Playgroud)
但是当我创建一个新项目时,它已经有了一个内置的身份验证类.如何一劳永逸地修改这些类?我想更改默认值ConnString
.
这是我的模特:
public class UsersContext : DbContext
{
public UsersContext()
: base("OracleDBConnString")
{
}
public DbSet<UserProfile> UserProfiles { get; set; }
}
public class LoginModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是我的用户控制器:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
//I WANT TO MODIFY THIS PART
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
当我更改base("DefaultConnection")
为base("OracleDBConnString")
,我收到此错误:
Server Error in '/' Application.
A null was returned after calling the 'get_ProviderFactory' method on a store provider instance of type 'System.Data.OleDb.OleDbConnection'. The store provider might not be functioning correctly.
Run Code Online (Sandbox Code Playgroud)
请注意,我已经添加using System.Data.OleDb;
了我的使用.
您可以在web.config中设置您使用的成员资格提供程序,而不是创建特殊类.
对于Oracle,存在一个OracleMembershipProvider
类,您可以在此处找到它.对于MySQL,您可以使用MySQLMembershipProvider
.有一篇很好的文章如何设置它:如何设置和配置MySql成员资格提供程序
此外,您可以使用实体框架代码优先成员资格提供程序 并使用适当的提供程序(请参阅本文:实体框架代码优先支持Oracle,MySQL,PostgreSQL和SQLite).我没有尝试这个解决方案,但看起来很有希望.
如果上述任何内容都无法帮助您编写自己的Memebership提供商,但我相信您可以找到已存在的内容.
总结:不是更改连接类型,而是更改特定于您的需求的成员资格提供程序.您的代码不应该注意到更改,因为每个成员资格提供程序都会继承基MemebershipProivder
类
归档时间: |
|
查看次数: |
27622 次 |
最近记录: |