我在asp.net mvc3上开发了一个Web应用程序,现在我需要制作路由,小写
示例:
that's what i have:
http://www.example.com/SubFolder/Category/Index => looks ugly :-)
that's how i would like it:
http://www.example.com/subfolder/category/index
Run Code Online (Sandbox Code Playgroud)
我发现这篇文章:http:
//goneale.com/2008/12/19/lowercase-route-urls-in-aspnet-mvc/
我实际上需要使用页面底部的global.asax中的代码.
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string lowercaseURL = (Request.Url.Scheme + "://" +
HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.Url.AbsolutePath);
if (Regex.IsMatch(lowercaseURL, @"[A-Z]"))
{
lowercaseURL = lowercaseURL.ToLower() + HttpContext.Current.Request.Url.Query;
Response.Clear();
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", lowercaseURL);
Response.End();
}
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是:
什么时候在开发站上使用它的工作是完美的,但当我上传它,生产它不起作用.
在开发站,它只发布,但在生产它有两个:
POST - status: 301 Moved Permanently
GET - status: 200 OK
Run Code Online (Sandbox Code Playgroud)
而且我根本没有被重定向到正确的路线.在开发站,它的工作完美.
我有三个数据库表.
CREATE TABLE `tblproject` (
`ProjectID` int(11) NOT NULL,
`ProjectStatusID` varchar(30) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `tblprojectSkills` (
`ProjectSkillID` int(11) NOT NULL,
`ProjectID` int NOT NULL,
`SkillID` int NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `tblSkills` (
`SkillID` int(11) NOT NULL,
`Skill` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)
在上表中.SkillID在相关tblSkills和tblprojectSkills.
ProjectID在相关Project和projectSkills表
class Project_Model extends Model
{
protected $table = "tblproject";
protected $primaryKey = "ProjectID"; …Run Code Online (Sandbox Code Playgroud) 当我们第一次登录我们的Gmail帐户或删除缓存和cookie后,我们会在窗口中输入发送到我们移动设备的代码.
我试图通过电子邮件而不是短信来实现这一点.以下是我实现此方法的方法.
我关注此链接: https: //laravel.com/docs/5.2/session
并Session table在数据库中创建.我还可以在会话表记录中看到我的浏览器详细信息.我不确定这是否是正确的方法.
Gmail提供了跟踪多个浏览器的功能.这意味着如果我上次从Firefox登录并且这次从Chrome登录,那么我将再次被要求提供代码.展望未来,如果不删除缓存/ Cookie,我将不会要求我填写Chrome和Firefox的代码.
有人可以给我任何链接,解释如何在保存缓存/ cookie时为多个浏览器提供服务吗?这样我就可以发送安全码的电子邮件
我正在编写以下代码以从Admin System注销特定用户.
我有会话表.我关注此链接:https://laravel.com/docs/5.2/session
$User = $this->Get($obj);
$UserSession = SessionModel::where('user_id', $obj->UserID)->first();
if($UserSession != null) {
$UserSession->user_id = null;
$UserSession->payload = null;
$UserSession->save();
}
Run Code Online (Sandbox Code Playgroud)
这样做是否正确?
页面包含IFrame,只有在Safari的情况下会话才为空.我的Safari版本是5.1.7
我正在使用MVC 4.5 Everything在其他浏览器中完美运行.我使用以下代码..
protected override void OnResultExecuting(ResultExecutingContext filterContext)
{
base.OnResultExecuting(filterContext);
filterContext.HttpContext.Response.AddHeader("p3p", "CP=\"CAO PSA OUR\"");
GetFirstError();
}
Run Code Online (Sandbox Code Playgroud) 今天,我对我的网站安全以及为使网站安全而编写的一些额外代码感到有些困惑。以下是应用安全性的2个位置。
在Route Config中,为了保护路由,我使用了中间件来检查用户角色。
Route::group(['middleware' => ['web', 'SuperAdmin', 'auth']], function () {
Route::get('/Create-Department', 'DepartmentController@CreateDepartment');
});
Run Code Online (Sandbox Code Playgroud)
我提到了2 Middlewares。
Auth Middleware:这是为了authentication。SuperAdmin Middleware:这是为了Authorization。
第二个位置是请求类。这是代码。在授权方法中,再次检查与在路径中已做的相同的事情
class DepartmentRequest extends Request
{
public function authorize()
{
if(\Auth::user() == null) {
return false;
}
if(\Auth::user()->isSuperAdmin()) {
return true;
}
return false;
}
public function rules()
{
return [
'Department' => 'required',
];
}
}
Run Code Online (Sandbox Code Playgroud)
问题:我应该删除请求类中的支票吗?这是确保请求安全的有害验证吗?由于route.config已经在做这项工作。
授权方法有什么用?我的意思是,我正在使用Request类来验证表单输入。我应该始终从授权方法返回true吗?
我正在使用XHR GET获取刀片html并尝试缓存它,以便它不需要每次都去服务器下载它.这是我的代码.
但这不起作用,总是去服务器.
$.ajax({
method: "GET",
url: "{!! route('SendMessageForm') !!}",
cache: true,
async: true,
beforeSend: function(xhr, opts) {
$('#MessageModal').html(processingImageUrl);
},
success: function(result) {
$('#MessageModal').html(result);
PopulateActiveUsers();
},
error: function() {
}
});
Run Code Online (Sandbox Code Playgroud)
调节器
public function SendMessageForm() {
return View("Chat.SendMessage");
}
Run Code Online (Sandbox Code Playgroud)
标题信息
我在Request类中有以下代码来检查用户是否有权执行更新.
HandlesAuthorization trait,默认情况下给出默认消息.有没有办法返回自定义消息?我看到在授权方法Request class可以return boolean只值.
class UpdateRoleRequest extends Request
{
private $UserPermissionsSession;
public function __construct(IRole $Role) {
$this->UserPermissionsSession = new UserPermissionsSession();
}
public function authorize() {
$UserID = \Auth::user()->UserID;
return $this->UserPermissionsSession->CheckPermissionExists($UserID);
}
}
Run Code Online (Sandbox Code Playgroud) laravel laravel-5 laravel-request laravel-authorization laravel-5.5
我正在使用Android Studio 3
我正在关注这篇文章,以了解如何在Android Studio中使用Google Recaptcha.
使用以下方法安装包: implementation 'com.google.android.gms:play-services-safetynet:12.0.1'
API密钥也已注册.
我看到有onClick事件处理程序但它在哪里提到了渲染recaptcha?
更新1
当我写链接中提到的按钮单击代码时...我得到了一个复杂的错误:无法转换的类型无法将匿名的android.view.view.onclicklistener强制转换为java.util.concurrent.executor
代码在评论中提出
btn_Login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
SafetyNet.getClient(this).verifyWithRecaptcha("")
.addOnSuccessListener((Executor) this,
new OnSuccessListener<SafetyNetApi.RecaptchaTokenResponse>() {
@Override
public void onSuccess(SafetyNetApi.RecaptchaTokenResponse response) {
// Indicates communication with reCAPTCHA service was
// successful.
String userResponseToken = response.getTokenResult();
if (!userResponseToken.isEmpty()) {
// Validate the user response token using the
// reCAPTCHA siteverify API.
}
}
})
.addOnFailureListener((Executor) this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) { …Run Code Online (Sandbox Code Playgroud) laravel ×5
laravel-5 ×5
php ×4
laravel-5.1 ×3
laravel-5.2 ×3
asp.net-mvc ×2
c# ×1
c#-4.0 ×1
http.sys ×1
httplistener ×1
jquery ×1
laravel-5.3 ×1
laravel-5.4 ×1
laravel-5.5 ×1
prefix ×1
recaptcha ×1