我的顶级课程就像魅力一样:
public class TestA<E extends Test>
{
List<Vector<E>> list;
String name, location;
TestA(String name, String location)
{
this.name = name;
this.location = location;
list = new ArrayList<Vector<E>>();
}
void populate(Test[] arr)
{
for(Vector<E> vk : list)
{
// Code here...
}
}
}
class OrderedTest<E extends Test> extends TestA {
OrderedTest(String name, String location)
{
super(name, location);
}
void populate(Test[] arr)
{
for(Vector<E> vk : list) // ERROR: Cannot convert from element Object to Vector<E>
{
// Code here...
} …
Run Code Online (Sandbox Code Playgroud) 我刚开始使用Devise和Rails3.我已经认证了IQnetication并且正在理解基础知识.
截至目前在我的Home Controller中代表我的Home/Front Page我有两个链接,一个链接到Register => sign_up,另一个根据login/logout => sign_in/sign_out而改变.
但是,我不想将我的用户重定向到登录页面.相反,我想在我的首页上显示我的登录表单.所以我将devise/session/new
模板int 分离到视图和_form.html.erb部分.
现在,在我的主视图中,我将登录表单呈现为:
<% if user_signed_in? %>
Welcome: <b><%= current_user.username %> (<%= current_user.group.name %>)</b>
<%= link_to "Logout", destroy_user_session_path, :method => 'delete' %>
<% else %>
<%= render 'devise/sessions/form' %> // Rendering the partial here
<%= link_to "Login", new_user_session_path %>
<% end %>
<hr>
Run Code Online (Sandbox Code Playgroud)
这是部分代码:
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div>
<div><%= f.label :password …
Run Code Online (Sandbox Code Playgroud) ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2
我已经确认这种方法有效。基本上它从控制器获取电子邮件并更改特定用户的电子邮件。
但是,它实际上从未保存数据。我传递了错误的电子邮件格式,如果我传递正确的电子邮件方法返回 true,则它返回 false,这意味着它分配了一个新电子邮件并称为安全。
# Allows user to change email address
def change_email(newmail)
address = EmailVeracity::Address.new(newmail)
if address.valid?
self.email = newmail
self.save
return true
else
return false
end
end
Run Code Online (Sandbox Code Playgroud)
我首先检查了日志是否有任何提示,但我得到的只是:
Started POST "/members/editmail" for 127.0.0.1 at 2013-04-25 17:33:44 +0200
Processing by MembersController#editmail as HTML
Parameters: {"authenticity_token"=>"*****=", "mail"=>"*****@gmail.com"}
?[1m?[35mUser Load (1.0ms)?[0m SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
?[1m?[36mCharacter Load (0.0ms)?[0m ?[1mSELECT `characters`.* FROM `characters` WHERE `characters`.`user_id` = 1?[0m
?[1m?[35m (0.0ms)?[0m BEGIN
?[1m?[36mUser Exists (0.0ms)?[0m ?[1mSELECT 1 FROM …
Run Code Online (Sandbox Code Playgroud) 我在谷歌搜索了一个用于Slim框架的身份验证库的好时光,但所有出现的都是基于单用户的身份验证BasicHttpAuth
.除了实现我自己的身份验证之外,我还有什么其他选择.
除了散列密码之外,我对会话不是很了解我知道如何使用它们但保持会话安全是另一回事.
是否可以在 NGINX 上使用具有用户身份验证但使用 SSL 终止的 NiFi。我在端口 443 上运行 NGINX,并在端口 8080 上将 proxy_pass 传递给 nifi。我玩弄了这些标头:
X-ProxyScheme - the scheme to use to connect to the proxy
X-ProxyHost - the host of the proxy
X-ProxyPort - the port the proxy is listening on
X-ProxyContextPath - the path configured to map to the NiFi instance
Run Code Online (Sandbox Code Playgroud)
但是似乎不可能让 NiFi 识别它在代理后面的 https 连接上。我更新了我的身份验证配置,但是 NiFi 仍然抛出错误:
IllegalStateException: User authentication/authorization is only supported when running over HTTPS.. Returning Conflict response.
java.lang.IllegalStateException: User authentication/authorization is only supported when running …
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一种方法,允许密码从设备外的其他服务更改无论如何.
# Profile password change
def change_password(oldpass, newpass)
pepper = nil
cost = 10
# Encrypt plain text passwords
encrypt_old = ::BCrypt::Password.create("#{oldpass}#{pepper}", :cost => cost).to_s
# Validate old
if self.encrypted_password == encrypt_old
encrypt_new = ::BCrypt::Password.create("#{newpass}#{pepper}", :cost => cost).to_s
self.encrypted_password = encrypt_new
self.save
else
Logger.new("Wrong old password!")
end
end
Run Code Online (Sandbox Code Playgroud)
似乎我得到了密码加密错误oldpass包含旧密码的纯文本我需要哈希它看看它是否与当前密码匹配然后允许存储新密码.但是我所得到的只是密码错误.
重做:
def change_password(oldpass, newpass)
if valid_password?(oldpass)
password = newpass
save
return true
else
return false
end
end
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Bootstrap的崩溃插件,但收效甚微.我想要一个带隐藏子菜单的手风琴式导航菜单.
我的HTML和JS:
<ul class="nav nav-list">
<li class="nav-header">
<span>
Home
<span class="pull-right" data-toggle="collapse">X</span>
</span>
<ul class="nav nav-list collapse in" id="test" >
<li><a href="/ticket_list.cfm" title="Show list of tickets">Open Tickets</a></li>
<li><a href="/account/" title="Edit user accounts">Accounts / Community</a></li>
</ul>
</li>
</ul>
<script type="text/javascript">
$('.collapse').collapse()
</script>
Run Code Online (Sandbox Code Playgroud)
这应该工作.当页面加载时,我可以看到子菜单隐藏了一个ms.但我可以点击X或Home我想要的东西,它不会扩展.
我已经包含了所有JS并且正确链接了我验证了.我的子页面上还有一个accorion面板,折叠选项卡在那里工作.
我无法理解Sentry 2的登录实现.我的意思是在哨兵这是相当紧张的前进.提供从输入到Sentry::login()
方法的用户名/电子邮件和密码,但他们现在改变它,这真的很混乱.
首先,他们删除了Username列,这没有任何意义.
其次,登录方法现在需要使用用户的id检索一个User对象,这再次没有意义,因为你不知道用户id,除非你做了另一个查询,所以它们真的很复杂.
我的代码:
public function login()
{
// Deny access to already logged-in user
if(!Sentry::check())
{
$rules = array(
'username' => 'required|unique:users',
'password' => 'required' );
$validator = Validator::make(Input::all(), $rules);
if($validator->fails())
{
Session::flash('error', $validator->errors());
return Redirect::to('/');
}
$fetch = User::where('username', '=', trim(Input::get('username')));
$user = Sentry::getUserProvider()->findById($fetch->id);
if(!Sentry::login($user, false))
{
Session::flash('error', 'Wrong Username or Password !');
}
return Redirect::to('/');
}
return Redirect::to('/');
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用这种方法,但它抛出一个异常:尽管id是表的一部分,但id是未知的,而User模型只是一个带有$ table ='users'的类声明; 属性.
我在这里做错了什么或不理解.
我试图理解以下代码。
class Test<E extends SubTest>
{
List<Vector<E>> links;
Test()
{
links = MyStaticClass.aList;
// Where aList is static ArrayList<Vector<SubTest>>;
}
}
Run Code Online (Sandbox Code Playgroud)
如何将以下内容分配ArrayList
给链接列表会出现错误。考虑到我用SubTest扩展了E,它不理解作业吗?
当我有一个参数T t时;我可以访问t属性,但不能执行上述操作。难道不List<Vector<T>>
链接指望得到ArrayList<Vector<SubTest>>
呢?
在</body>
标记之前的文档末尾,我有所需的资源:
{{ HTML::script('/themes/admin/js/jquery.js') }}
{{ HTML::script('/themes/admin/js/jquery-ui.js') }}
{{ HTML::script('/themes/admin/js/bootstrap.min.js') }}
{{ HTML::script('/themes/admin/js/wys.js') }} // Bootstrap-wysiwyg
Run Code Online (Sandbox Code Playgroud)
所有脚本都是链接的,并且在那里工作.这是我的HTML:
<div id="editor" class="well col-md-3" contenteditable="true">
</div>
<script type="text/javascript">
$('#editor').wysiwyg();
</script>
Run Code Online (Sandbox Code Playgroud)
这是我上方的工具栏代码:
<div class="well">
<div class="btn-toolbar" data-role="editor-toolbar" data-target="#editor">
<div class="btn-group">
<a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" title="" data-original-title="Font"><i class="glyphicon glyphicon-font"></i><b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a data-edit="fontName Serif" style="font-family:'Serif'">Serif</a></li><li><a data-edit="fontName Sans" style="font-family:'Sans'">Sans</a></li><li><a data-edit="fontName Arial" style="font-family:'Arial'">Arial</a></li><li><a data-edit="fontName Arial Black" style="font-family:'Arial Black'">Arial Black</a></li><li><a data-edit="fontName Courier" style="font-family:'Courier'">Courier</a></li><li><a data-edit="fontName Courier New" style="font-family:'Courier New'">Courier New</a></li><li><a data-edit="fontName Comic Sans MS" style="font-family:'Comic Sans …
Run Code Online (Sandbox Code Playgroud)