0

C# と SQL Server 2005 を使用して ASP .Net MVC 3 アプリケーションを開発しています。Entity Framework と Code First Method も使用しています。

ログオン(接続)用のインターフェースがありますが、ユーザーテーブル(ログインとパスワードを含む)があるベースとは関係ありません。

問題は、接続方法を変更できないことです。正確には、接続が私のベースに関連付けられることを望んでいます。

Entity FrameworkとCode First方式を使っているので難しいです。

解決策はありますか?

これは私のビューのログオンです:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage"%>
    <p>

        S'il vous plaît entrer votre Login et Mot de Passe pour vous connecter :
    </p>
    <% using (Html.BeginForm("Logon", "Account")) { %>
        <table>
            <tr><td><label for="username" style="width:10em">Matricule :</label></td><td><%= Html.TextBox("Matricule") %><%= Html.ValidationMessage("Matricule") %></td></tr>
            <tr><td><label for="password" style="width:10em">Mot de passe:</label></td><td><%= Html.Password("passWord") %><%= Html.ValidationMessage("passWord") %></td></tr>
            <tr><td></td><td><%= Html.CheckBox("rememberMe") %> <label for="rememberMe">Se souvenir de moi ?</label></td></tr>
            <tr><td></td><td><input type="submit" value="Se Connecter" /></td></tr>
        </table>
<% } %>

そしてこれはコントローラーです:

public ActionResult LogOn()
        {

            return View();
        }

        [AcceptVerbs(HttpVerbs.Post)]
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeStrings",
            Justification = "Needs to take same parameter type as Controller.Redirect()")]
        public ActionResult LogOn(string Matricule, string passWord, bool rememberMe, string returnUrl)
        {

            if (!ValidateLogOn(Matricule, passWord))
            {
                return View();
            }

            FormsAuth.SignIn(Matricule, rememberMe);
            if (!String.IsNullOrEmpty(returnUrl))
            {
                return Redirect(returnUrl);
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }

回答ありがとうござい
ます。まず、私は WEB API を使用していません。
私のアプリケーションは、C# を使用し、SQL SERVER 2005 データベースを使用する ASP MVC 3 アプリケーションです。
次に、さらに説明します。インターネット アプリケーションを作成しました (新しいプロジェクト -> ASP .NET MVC 3 WEB アプリケーション -> インターネット アプリケーション)。
ご存知のように、インターネット アプリケーションを作成すると、VS は Cookie を使用してログオンおよび登録する方法を作成しました。
Entity Framework 4 と Code First を使用してデータベースを作成しました (ベースでテーブルとして生成される多くのモデルを作成しました)。
したがって、Nom (ログイン) + パスワードを含むテーブル ユーザーがあります。
Web Inerface (textBox) にログインとパスワードを入力すると、エディターはそれらがテーブル User に適合しているかどうか (存在しないか) を確認します。

これは私のモデル ユーザー :

{
    public class User
    {
        [Required]
        [Key]
        [Display(Name = "Matricule :")]
        public string Matricule { get; set; }

        [Required]
        [Display(Name = "Nom :")]
        public string Nom_User { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "Le {0} doit avoir au minimum {2} caractères.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Mot de passe :")]
        public string passWord { get; set; }



        [Required]
        [ForeignKey("Account")]
        [Display(Name = "Type :")]
        public string Type_User { get; set; }

        [Required]
        [ForeignKey("UF")]
        [Display(Name = "ID UF :")]
        public string ID_UF { get; set; }

        public virtual Account Account { get; set; }
        public virtual UF UF { get; set; }

        public virtual ICollection<User> Users { get; set; }
    }

これはコンテキストファイルです:

namespace MvcApplication2.Models
{
    public class GammeContext : DbContext
    {
        public GammeContext()
        {

            Database.SetInitializer(new DropCreateDatabaseIfModelChanges<GammeContext>());

        }


        public DbSet<Account> Accounts { get; set; }
        public DbSet<Ns_AFaire> Ns_AFaires { get; set; }
        public DbSet<Famille> Familles { get; set; }
        public DbSet<Fonction> Fonctions { get; set; }
        public DbSet<Fonction_Poste> Fonction_Postes { get; set; }
        public DbSet<Gamme> Gammes { get; set; }
        public DbSet<Historique> Historiques { get; set; }
        public DbSet<Ligne> Lignes { get; set; }
        public DbSet<Phase> Phases { get; set; }
        public DbSet<Poste> Postes { get; set; }
        public DbSet<Produit> Produits { get; set; }
        public DbSet<Profile_Ga> Profil_Gas { get; set; }
        public DbSet<Sous_Famille> Sous_Familles { get; set; }
        public DbSet<UF> UFs { get; set; }
        public DbSet<User> Users { get; set; }
        public DbSet<Num_Serie> Num_Series { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>();
        }


    }
}
4

0 に答える 0