我必须为公司构建一个小型webapp来维护他们的业务数据......只有公司内部的人才会使用它,但我们计划在公共领域托管它,以便员工可以从不同的位置连接到应用程序.(直到现在我已经构建了仅在内部托管的Web应用程序)
我想知道我是否需要使用安全连接(https)或只是表单身份验证就足够了.
如果你说https,我有一些问题:
我正在网上寻找答案,但我无法获得所有这些要点...任何白皮书或其他参考资料也会有所帮助......
如果您需要更多信息,请随意询问.
谢谢
以下哪个查询更好...这只是一个例子,有很多情况,我希望显示用户名而不是UserID
Select EmailDate, B.EmployeeName as [UserName], EmailSubject
from Trn_Misc_Email as A
inner join
Mst_Users as B on A.CreatedUserID = B.EmployeeLoginName
Run Code Online (Sandbox Code Playgroud)
要么
Select EmailDate, GetUserName(CreatedUserID) as [UserName], EmailSubject
from Trn_Misc_Email
Run Code Online (Sandbox Code Playgroud)
如果使用First没有性能优势,我宁愿使用第二个...我会在用户表中有大约2000条记录,在电子邮件表中有100k条记录...
谢谢
sql-server performance sql-server-2005 inner-join user-defined-functions
我碰巧在这里读到了joel的博客......
例如,如果你有一个网页上写着"你的名字是什么?",带有一个编辑框,然后提交那个页面就会带你到另一个页面,上面写着你好,埃尔默!(假设用户的名字是埃尔默),那么,这是一个安全漏洞,因为用户可以键入各种奇怪的HTML和JavaScript而不是"Elmer",他们奇怪的JavaScript可以做很多事情,现在那些麻烦的东西似乎来自你,所以例如他们可以阅读你放在那里的饼干并将它们转发给邪恶博士邪恶的网站.
由于javascript在客户端运行.它只能在客户端访问或执行.
但我觉得,这些信息无论如何都可供他使用.(如果他足够聪明,可以在文本框中传递javascript.所以我们没有授权他提供新信息或者让他过度访问我们的服务器......
只是想知道我是否想念一些东西.您能否列出恶意用户可以使用此安全漏洞执行的操作.
编辑:感谢所有人的启发.正如kizzx2在其中一条评论中指出的那样......我忽略了这样一个事实:用户A编写的JavaScript可能会在很多情况下在用户B的浏览器中执行,在这种情况下它会成为一个很大的风险.
我是MVC/MVP的新手,并通过创建Winform应用程序来学习它.
我在某种程度上创建了模型,演示者和视图......现在我的验证适合哪里.
我认为初始数据类型验证(只有Age字段中的数字)应该通过视图完成.而其他验证(如年龄是否在200以内)应该由模型完成.
关于数据类型验证,我的视图将值公开为属性
public int? Age
{
get
{
int val;
if (Int32.TryParse(TbxAge.Text, out val))
{
return val;
}
return null;
}
set
{
TbxAge.Text = value;
}
}
Run Code Online (Sandbox Code Playgroud)
我可以单独执行验证,但是当它尝试访问属性Age?时,如何通知演示者验证仍处于待处理状态?特别是当该领域是可选的.
抛出一个验证暂停异常是好的,但是演示者必须在每个点都捕获它.
我的理解是正确的,还是我错过了什么.
更新(为了清楚起见): 在这个简单的情况下,年龄字段是可选的,当用户键入他的名字而不是数字时我该怎么办.我无法传递null,因为这意味着该字段已被用户留空.那么如何通知演示者输入的数据无效...
我正在寻找在Winforms(C#.NET)中实现的MVC/MVP的一个非平凡的例子.我搜索了网站,但只获得了一些简单的例子,多一点会有所帮助.
我特别关注实现视图的方法(查看主子模型)和控制器/演示者.
我有这个问题很长一段时间......
我已经看过很多关于为数据库授予基于角色的访问权限的讨论......但是对于asp.net web应用程序...... Web应用程序可以通过连接字符串中指定的ID连接到数据库,无论是什么连接到应用程序的用户...(Windows auth模型除外)...
在这种情况下......不需要在DB中创建单个用户的登录,并为他提供所需的角色和访问限制.
这是否意味着,除了连接字符串中使用的用户之外,我们不必担心用于asp.net应用程序的数据库中的用户访问限制...或者我在某处出错了.
谢谢
我是ASP.NET的新手,只是构建我的第二个实时web应用程序.
一年前我学习ASP.NET的时候,有人告诉我"连接和从数据库中获取数据是比较昂贵的,所以尽量减少连接,并有效地重新使用检索到的数据".给出的理由是
当我的研究扩展时,我学习了其他一些存储数据的措施,这些数据一旦从回复中检索到数据库.但现在,我逐个学习它们比连接数据库更昂贵.喜欢...
还有Oflate,我反复建议不要在会话,查看状态等中存储检索到的表,而是连接到DB并在每次回发时重新抓取它.
并根据基于SQL Server的会话状态管理查看此内容,其中Framework本身使用DB来存储会话. 我觉得,我应该忘记我对数据库连接的初步学习和看法.
你说什么 ???
我们也欢迎任何其他建议/提示.
谢谢
我主要关心的是SQL Server 2005 ...我浏览了很多网站,每个网站都有不同之处.
什么是好/可以使用的场景..例如,甚至在IF内部设置变量值或仅在我运行查询时是否会受到伤害.假设我的SP正在构建基于输入参数中的几个条件的动态SQL,我是否需要重新考虑查询...如何根据表中是否存在某些记录来运行不同的查询.等等.. 我的问题不仅限于这些场景......我正在寻找一个更广泛的答案,以便我可以改进我未来的SP
在本质上......在分支条件/循环中使用哪些语句很好,这很糟糕,哪些是好的.
究竟是什么e.Row.DataItem返回.. MSDN说.. 返回一个Object,表示GridViewRow对象绑定到的底层数据对象.
这是我的DataGrid ......
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundField DataField="PracticeCode" HeaderText="PracticeCode" SortExpression="PracticeCode" />
<asp:BoundField DataField="AccountNo" HeaderText="AccountNo" SortExpression="AccountNo" />
<asp:BoundField DataField="PatientName" HeaderText="PatientName" SortExpression="PatientName" />
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<asp:Label ID="LblStatus" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
然后我将它绑定到我的业务对象列表<Patient> ..在DataBound行事件中,我试试这个...
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
Patient p1 = (Patient)e.Row.DataItem;
Label lbl = e.Row.FindControl("LblStatus") as Label;
if (p1 == null)
{
throw new Exception("P1 is null");
}
if (p1.OpenItems.Count > 0)
{
lbl.Text = "Has open Items";
}
else …Run Code Online (Sandbox Code Playgroud) 我需要将以下项添加到组合框中.
值DisplayText
Mpost发表
呼叫呼叫
RScan重新扫描
这些项目是相当静态的,不会从任何数据库中检索出来......因此想到在设计时自己分配这些项目.
我无法使用Items属性,因为它只询问每个项目的一个值...你能帮忙吗?
Ps:如果您建议使用BindingSource,请举个例子.我找不到一个.
.net ×4
asp.net ×4
c# ×4
performance ×3
mvp ×2
sql-server ×2
winforms ×2
asp.net-2.0 ×1
database ×1
gridview ×1
https ×1
inner-join ×1
javascript ×1
security ×1
ssl ×1