萌新求助, ASP .NET Core 框架是一个完整的 Web 框架吗,是不是内置的功能很少?连 BasicAuth 都需要自己实现。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
rv54ntjwfm3ug8
V2EX    程序员

萌新求助, ASP .NET Core 框架是一个完整的 Web 框架吗,是不是内置的功能很少?连 BasicAuth 都需要自己实现。

div id="topic_837753_votes" class="votes">
  •  
  •   rv54ntjwfm3ug8 2022-03-03 17:11:26 +08:00 4861 次点击
    这是一个创建于 1316 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天刚开始学基于 .NET Core 的 Web 开发,之前接触的 Go/Rust 配置固定密码的 BasicAuth 鉴权都只要添加一个现成的中间件就行了,ASP .NET Core 还要手动读请求头判断。
    另外大部分 ASP .NET Core 开发的项目数据库大部分都用 MSSQL 吗,用 PostgreSQL 的多吗?
    31 条回复    2022-03-05 14:53:26 +08:00
    thinkershare
        1
    thinkershare  
       2022-03-03 19:09:33 +08:00   2
    请你先给出完整 Web 框架的定义?
    你这里每一个问题都是槽点, BasicAuth 被淘汰了, ASP.NET Core 是一个基于中间件架构的 Web 框架, 它非常基础, 几乎不提供非通用的东西.
    你的另外一个问题没有人能够回答你, 因为没有详细的统计数据支持, 不过我可以告诉你我呆过的公司从 SQL Server, Oracle, MySQL, PostgreSQL, MongoDB 都有, 用 MySQL 是最多的
    mineralsalt
        2
    mineralsalt  
       2022-03-03 19:10:56 +08:00
    别学这个了, 浪费时间, 还是学一些主流的比较好
    INCerry
        3
    INCerry  
       2022-03-03 19:12:23 +08:00   2
    你也可以安装现成的 NuGet 包来实现需求,微软官方文档
    https://docs.microsoft.com/zh-cn/aspnet/core/security/authorization/introduction?view=aspnetcore-6.0
    数据库无所谓,你想用啥用啥,我们公司的情况就是,大数据连有使用 TIDB ,小数据量用 MYSQL ,也有一些 MSSQL 的应用,PostgreSQL 也在项目中有使用
    ragnaroks
        4
    ragnaroks  
       2022-03-03 19:13:13 +08:00   2
    "aspnet core" 是 dotnet 的 Web 框架,自身包含绝大多数实现,比如 JWT/CORS/WS 等等,身份验证之类也是以中间件形式提供的

    你的问题在于没有看文档
    https://docs.microsoft.com/zh-cn/aspnet/core/
    https://docs.microsoft.com/zh-cn/aspnet/core/security/authentication/?view=aspnetcore-3.1

    另外最好使用 VS 来进行开发,这样你有什么想法的时候可以输入你的想法并按下 CTRL+dot(.) 试试
    lybcyd
        5
    lybcyd  
       2022-03-03 19:15:28 +08:00 via Android   1
    每个框架都有自己的功能取舍,没有完全覆盖其他框架的功能挺正常的。没有的功能要么找一下第三方包,要么自己写。
    如果想要功能全的,就我接触过的框架而言,自带功能最全的是 Java 的 spring 和 php 的 laravel ,你能想到的 web 功能基本都自带解决方案。
    BrettD
        6
    BrettD  
       2022-03-03 19:15:50 +08:00 via iPhone   2
    ASP .NET Core 居然不是主流?
    INCerry
        7
    INCerry  
       2022-03-03 19:16:05 +08:00
    thinkershare
        8
    thinkershare  
       2022-03-03 20:22:40 +08:00   1
    不是提供的功能太少, 而是旧版功能太多了. 所以微软才将 其实干掉了, 然后在 Core 中不断做细粒度的解耦, 因为并不是你需要的功能其它人都需要.
    另外使用 Google 搜索引擎搜索一下, Stack Overflow 上关于这个问题的已经有了明确而完整的答案!
    userforg2021
        9
    userforg2021  
       2022-03-03 21:25:59 +08:00
    @BrettD 为什么不是主流呢?因为 xx 是原罪
    forgottencoast
        10
    forgottencoast  
       2022-03-03 22:43:40 +08:00
    @mineralsalt OP 刚接了一个 ASP.NET Core 的工作,月薪 10W 人民币,香的很。
    mineralsalt
        11
    mineralsalt  
       2022-03-03 23:07:13 +08:00
    @forgottencoast 这么多么, 月薪 10W 的人还要写代码啊
    GiantHard
        12
    GiantHard  
       2022-03-04 00:34:49 +08:00 via Android   10
    楼主掌握了在互联网正确提问的姿势
    ASP.NET Core 中怎么实现 Basic Auth ?
    ASP .NET Core 框架是一个完整的 Web 框架吗,是不是内置的功能很少?连 BasicAuth 都需要自己实现?
    jbgz
        13
    jbgz  
       2022-03-04 09:11:36 +08:00   1
    ASP .NET Core 居然不是主流?
    encro
        14
    encro  
       2022-03-04 09:16:42 +08:00
    Postgresql 选择没错的,Mysql 只能做 OLTP ,PG 可以 OLTP+OLAP ,我最近就在为 MySQL 转 OLAP 头痛。
    skinny
        15
    skinny  
       2022-03-04 09:17:45 +08:00
    槽点难道不是微软为了 Razor ,搞得在使用一些组件(比如 Cookies 认证)开发 Web API 时会出现反直觉的问题嘛(比如一个普通 API 接口哪需要跳转登录页)……

    还有我个人觉得 Identity 是真的难用不好用
    sjzjams
        16
    sjzjams  
       2022-03-04 09:21:04 +08:00
    你说的那些框架是开发者们又给你封装了一层的,也是需要有人做这件事儿的,难以想象现在.net 都被误会成这样了哈哈哈哈
    afirefish
        17
    afirefish  
       2022-03-04 09:28:38 +08:00
    看来.net 凉了啊,ASP.NET Core 居然都不是主流了
    ClorisYe
        18
    ClorisYe  
       2022-03-04 09:38:12 +08:00
    @skinny 我也觉得 identity 是很难用,你有没有好一点的现成库推荐?另外,微软文档说,保护 api 项目推荐使用 identity server
    skinny
        19
    skinny  
       2022-03-04 09:57:53 +08:00
    @ClorisYe 我没有找到靠谱好用的第三方库。我现在改成按需求自己写……因为这比改造自定义 Identity 费的脑细胞少,也没那么复杂那么绕。我不想用 IdentityServer4……
    skinny
        20
    skinny  
       2022-03-04 10:02:17 +08:00
    @ClorisYe API 访问认证现在也换成 Token 了,就一个单纯密码学安全随机的足够长的字符串,写一个 AuthenticationHandler 就好了,就算不用 asp.net core 换其它也简单容易,还有状态,随时可撤销。
    RickyC
        21
    RickyC  
       2022-03-04 10:03:35 +08:00
    @thinkershare 人家说了,是萌新,你还让人家定义
    thinkershare
        22
    thinkershare  
       2022-03-04 11:22:32 +08:00
    @RickyC 自己不知道, 就要学会好好提问, 否则我才懒得损他. V2EX 这种翻墙才能上的网站, 他说自己是萌新, 你也信. 还在网上学一堆奇葩的提问方式, 萌新就更要学会怎么提问了, 对自己不了解的东西保持谦虚, 学会好好说话, 这样才有人会好好回答. 自己在提问中输出情绪, 我也只能在回答中输出情绪了.
    sunhelter
        23
    sunhelter  
       2022-03-04 12:32:45 +08:00
    .net 学的人那么少,工作机会那么多,不学这个去学 java 跟别人挤破头吗~
    skiy
        24
    skiy  
       2022-03-04 12:41:05 +08:00
    https://github.com/siteserver/cms

    看看这款,支持 postgres 。
    zxCoder
        25
    zxCoder  
       2022-03-04 16:07:31 +08:00
    玩这套的主流都是用微软的东西,mssql ,用 vs 开发,服务器也用 windows
    quan01994
        26
    quan01994  
       2022-03-04 17:21:33 +08:00
    services.AddAuthentication("BasicAuthentication")
    .AddScheme<AuthenticationSchemeOptions, BasicAuthenticationHandler>("BasicAuthentication", null);

    public class BasicAuthenticationHandler : AuthenticationHandler<AuthenticationSchemeOptions>
    {
    }

    不太清楚现成是什么意思。现成就是不用自己写一段代码吗 。
    mmdsun
        27
    mmdsun  
       2022-03-04 19:07:36 +08:00 via iPhone
    怎么会? JWT 都可以,几句话的配置。用 MiniAPI 写小项目很爽。《.NET6 之 MiniAPI(十):基于策略的身份验证和授权》 https://mp.weixin.qq.com/s/ZuWNPJGMWWMRrgOvIlIyzg
    circsqua
        28
    circsqua  
       2022-03-04 23:56:14 +08:00
    .NET……主流不主流不能肯定
    但是大家谈论的少是真
    找资料不好找(名字背点锅)
    找的教程很多都是阿三录的,不是说水平不行,只是听起来脑壳痛
    pming1
        29
    pming1  
       2022-03-05 08:47:46 +08:00
    ASP .NET Core 居然不是主流?
    hez2010
        30
    hez2010  
       2022-03-05 14:50:20 +08:00
    ASP.NET Core 是一个完整的框架,不过很多组件都是以中间件的形式提供的,包括你说的 BasicAuthentication 在内。
    这样用不到的组件可以不引入代码,有效提升性能和减小占用。

    建议多阅读文档: https://docs.microsoft.com/en-us/aspnet/core/introduction-to-aspnet-core?view=aspnetcore-6.0 。( en-us 改成 zh-cn 就是中文版,但是中文版有些是机器翻译可能反而不如英文版好懂)
    hez2010
        31
    hez2010  
       2022-03-05 14:53:26 +08:00
    另外 PostgreSQL 用得很多,反而用 MSSQL 的没那么多。PostgreSQL 的 EF Core 组件: https://github.com/npgsql/efcore.pg
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5590 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 06:37 PVG 14:37 LAX 23:37 JFK 02:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86