C# 创建令牌以填充表单
我有一个表格来注册求职者,但是填写表格的用户没有用户来验证他是否是有效用户 该表单有一个参数,指示申请人正在寻找的工作C# 创建令牌以填充表单,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我有一个表格来注册求职者,但是填写表格的用户没有用户来验证他是否是有效用户 该表单有一个参数,指示申请人正在寻找的工作 //This is the controller action public ActionResult RegisterApplicant(int job_id) { var formModel = new FormModel(){ job_id = job_id }; return View(formModel); }
//This is the controller action
public ActionResult RegisterApplicant(int job_id)
{
var formModel = new FormModel(){
job_id = job_id
};
return View(formModel);
}
///This is the view
@model Jobs.Models.FormModel
<div class="container">
@using(Html.BeginForm("RegisterApplicant")){
@Html.HiddenFor(model=>model.job_id)
//Other Fields Here
<input type="submit" value="Save">
}
</div>
//这是控制器操作
公共操作结果注册表应用程序(int作业\u id)
{
var formModel=new formModel(){
作业id=作业id
};
返回视图(formModel);
}
///这就是观点
@模型作业
@使用(Html.BeginForm(“RegisterApplication”)){
@Html.HiddenFor(model=>model.job\u id)
//这里还有其他领域
}
有没有办法生成URL加上包含作业ID的令牌
调用RegisterApplication方法,允许未经身份验证的用户填写
表格
我希望避免在访问该方法的URL中显式显示作业id
我将使用该URL通过电子邮件将其发送给求职者。
谢谢。您可以为每个作业生成Guid并与作业id关联
var job = new Job()
{
job_id = <id>,
token = Guid.NewGuid().ToString();
}
JobService.SaveJob(job);
**JobService只是一个假想的服务,因为我不知道您真正的代码是如何实现的。您想通过URL发送它,但不想在URL中显示它?使用加密?为什么您不能将
作业Id
放入url,并使用正常的身份验证路径在登录后将用户传回?作业Id
有什么秘密?谢谢,我不知道Guid方法是一种很好的方法!
public ActionResult RegisterApplicant(string jobToken)
{
var job = JobService.GetJobByToken(jobToken);
var formModel = new FormModel(){
job_id = job.job_id
};
return View(formModel);
}