背景
我有一个与WCF服务交互的ASP.NET Web应用程序.Web应用程序和WCF服务由我控制.ASP.NET Web应用程序使用ASP.NET成员资格提供程序模型的自定义实现(密码以散列形式存储)来验证登录Web应用程序的用户.ASP.NET Web应用程序和WCF服务都可以访问相同的成员资格数据库.
由于用户只提供一次密码,我不想将密码存储在任何地方或者通过反复要求他们重新提供密码来惹恼他们,我需要一种适当的机制来通过WCF服务对用户进行身份验证.
基于我看到的其他问题和答案,我正在考虑一种"登录会话"方法,当用户最初登录到Web应用程序时,将在自定义成员资格数据库中创建登录会话,并确定登录会话通过GUID,并在一段时间不活动后自动过期.Web应用程序将为每个登录用户"记住"登录会话GUID(存储在Forms Authentication Ticket或会话中).
WCF服务还将提供其自己的登录操作,接受用户名和密码,并返回如上所述的登录会话GUID.
然后,WCF服务将接受所有其他操作的登录会话GUID,并在允许操作继续之前验证GUID表示尚未过期的有效登录会话.
我已经做了相当多的背景阅读,并且有很多关于直接使用UserName客户端凭证类型的材料,但这需要Web应用程序记住用户的密码,这看起来不是很好我的想法.
我已经完成了一些研究,并在MSDN上找到了材料,但这似乎是很多努力来实现(至少对我来说)似乎是一个非常常见的使用场景.
题
上面描述的"登录会话"的一般方法是否合理?
如果是这样,实现它的最佳方法是什么?
如果没有,你能建议一个替代方案吗?
有没有办法将样式(或脚本)<input type=file />元素只显示"浏览"按钮而没有文本字段?
谢谢
编辑:只是为了澄清为什么我需要这个.我正在使用来自http://www.morningz.com/?p=5的多文件上传代码,它不需要输入文本字段,因为它永远不会有价值.脚本只是将新选择的文件添加到页面上的集合中.如果可能的话,没有文本字段会更好看.
我有一个小程序,可以在磁盘上读写文件.将其分解为最简单的级别,它从一个文件流中读取字节并将它们写入另一个文件流.它履行其职责很好,但它不是最快的事情.
我已经看到其他应用程序可以以惊人的速度撕破一千兆字节或更多的读/写.显然,他们的操作更接近金属,而不是一个小的.NET应用程序.
用于流入/流出磁盘的最有效的.NET API是什么?什么win32 API可用(并且值得p /调用)以便快速访问磁盘?
自从我离开学校以来,我忽略了自己的编程技巧,现在我想开始一些在脑子里奔跑的事情.Qt将是我使用的工具包,但我还没有决定是否应该使用Python(在我看来更容易学习一些关于编程的一般想法)或C++(与Qt一起使用的东西).在我的学校,我们学习了Turbo Pascal,VB和自愿C课程的基础知识,虽然现在我只知道我当时学到的所有东西的一些暗示.
你能推荐我一个方法,一个网站或一本书(或两个),这将带我走上这条道路(一个完美的将是一个在工具包的帮助下教授语言)?
先感谢您.
我希望能够单击gridview行以选择行而不是使用选择链接.
我有下面的代码使行可点击,并像一个超链接.....
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
If (e.Row.RowType = DataControlRowType.DataRow) Then
e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand';this.style.textDecoration='underline';")
e.Row.Attributes.Add("onmouseout", "this.style.textDecoration='none';")
e.Row.Attributes.Add("onclick", ClientScript.GetPostBackClientHyperlink(Me.GridView1, "Select$" + e.Row.RowIndex.ToString()))
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
....但后来我收到错误信息:
无效的回发或回调参数.使用配置或页面中的<%@ Page EnableEventValidation ="true"%>启用事件验证.出于安全考虑,此功能可验证回发或回调事件的参数是否来自最初呈现它们的服务器控件.如果数据有效且符合预期,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证.
有谁知道怎么克服这个?
谢谢,
我需要能够识别用户屏幕上的单个窗口并对其进行屏幕捕获.屏幕数据将存储在内存中,而不是写入磁盘.
这已经通过命令行工具/ usr/sbin/screencapture或通过Grab实用程序得到支持(尽管它们的功能不够广泛,无法证明我将它们作为子进程启动).
参考/提示
问题:当我没有文件时,也没有任何文件时,将文件添加./shells/smallApps/*到Git ../.git/./.git/info/exclude.gitignore
这个问题是基于这个问题没有完全解决的问题.
我跑
$git status ~/bin
# On branch master
nothing to commit (working directory clean)
$git ls-files ~/bin
Screen/dev/vim-open.screen
--- cut ---
Run Code Online (Sandbox Code Playgroud)
我注意到我的Git上没有"shells/smallApps/*"文件
$ls shells/smallApps/ ~/bin
devTodo extract
~/bin
Run Code Online (Sandbox Code Playgroud)
我想通过运行将它们添加到我的Git中
$git add shells/smallApps/devTodo shells/smallApps/extract
fatal: Path 'shells/smallApps/devTodo' is in submodule 'shells/smallApps'
$git add .
Run Code Online (Sandbox Code Playgroud)
我注意到由于某种原因,这些文件没有添加到我的Git中
$git status ~/bin
# On branch master
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
我没有.git/info/exclude和.gitignore -files的文件.
最后警告是什么意思?
嘿.我正在上一门名为"编程语言原理"的课程,我需要决定今年夏天要做的项目.以下是项目需要完成的简短版本:
"项目的本质是语言处理.编写Scheme/Lisp处理器是这种类型的项目.像C或Pascal这样的语言的编译器也是这种类型的潜在项目.一些过去的学生已完成与数据库相关的项目另一个可能的项目可能与模式匹配和操作XML有关.Lisp,Pascal和C通常会导致最直接的项目."
我对Web技术很感兴趣,并且对PHP,MySql,JavaScript等有一些经验,我想做一些面向Web的事情,但是我很难想出任何想法.我也希望这是一个有价值的项目,可能有一些意义,而不是像在课堂上做其他人一样.
有任何想法吗?谢谢!
编辑:我真的很喜欢Latex到XHTML/MathML翻译器的想法,我把这个想法传递给了我的导师,他在其中写道:
"我认为这个想法很有意思,我的问题(以及你的问题)是否合适.
我认为LateX是一种低级标记语言.我想知道将它转换为XHTML或MathML是否真的是级别和复杂性的变化.我想你可以通过更多的讨论和一些例子来说明你的观点.您可能还会想到一些其他标记结构,这使得描述方程更容易."
关于如何说服他这一点的任何想法都可能是合适的,或者这个想法的任何扩展都可以用于我的项目目标?
感谢到目前为止的所有回复!
我是Python和编程的新手(最多几周).
关于Python和使用模块,我意识到函数可以使用导入from a import *.
所以不要打字
a.sayHi()
a.sayBye()
Run Code Online (Sandbox Code Playgroud)
我可以说
sayHi()
sayBye()
Run Code Online (Sandbox Code Playgroud)
我觉得它简化了很多东西.现在,假设我有一堆变量,我想在模块中使用它们,我将它们全部定义在一个python模块中.我怎样才能使用上面提到的类似方法或同样简单的方法导入这些变量.我不想使用import a然后被要求为我的所有变量添加前缀a..
理想情况如下:
a.py
name = "Michael"
age = 15
Run Code Online (Sandbox Code Playgroud)
b.py
some_function
if name == "Michael":
if age == 15:
print("Simple!")
Run Code Online (Sandbox Code Playgroud)
输出:
Simple!
Run Code Online (Sandbox Code Playgroud) 我有一个Django项目似乎与settings.py工作得很好,它也导入了local_settings.py而没有问题.
我现在在设置文件的末尾添加了以下行:
try:
from extras import *
except ImportError, e:
print "import extras failed :: " + `e`
Run Code Online (Sandbox Code Playgroud)
extras.py是一个额外配置信息的文件,与settings.py和local_settings.py位于同一目录中,但是,我现在得到:
import extras failed :: ImportError('Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.',)
Run Code Online (Sandbox Code Playgroud)
这似乎是由于我试图
from django.contrib.auth.models import User,UserManager
from django.db import models
Run Code Online (Sandbox Code Playgroud)
在那个extras.py文件中.
有人有主意吗?
干杯